You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Postman调用Spring-Messaging+Stomp安全WebSocket遇权限拒绝问题

问题原因分析
  • STOMP帧未携带认证头:WebSocket握手阶段的HTTP请求带了Authorization头,但后续STOMP消息是在已建立的WebSocket连接上发送的独立帧,Postman不会自动将HTTP头传递到STOMP帧中,导致/app/hello请求未携带有效认证信息。
  • 手动使用的token无效:FakeJwtConfig有特定的JWT生成/验证逻辑(比如签名密钥、Claims要求),你手动输入的test.token可能不符合验证规则,无法通过认证。
  • WebSocket认证上下文未正确加载:WebSocketSecurityConfig的权限规则可能未正确关联到STOMP消息的认证流程,导致认证信息未被正确解析和应用。
解决方法
  • 在STOMP帧中添加Authorization头:在Postman发送STOMP消息时,除了握手阶段的HTTP头,还要在STOMP帧的Headers区域添加Authorization: Bearer [有效token],确保每个需要认证的STOMP请求都携带认证信息。
  • 使用测试用的有效token:从集成测试代码中获取FakeJwtConfig生成的真实有效token(比如测试里用来通过认证的token值),替换手动输入的test.token,保证token符合验证逻辑。
  • 确认WebSocket安全配置正确性:
    • 检查configureMessageBroker方法中是否正确设置了应用前缀为/app,确保端点匹配正确。
    • 验证authorizeMessageRequests里的规则antMatchers("/app/hello").authenticated()是否正确生效,可添加日志调试认证流程,确认JWT是否被正确解析并授予权限。

内容的提问来源于stack exchange,提问作者Jackie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 15:49:56