不推荐使用 Spring-Security 中的 AbstractWebSocketMessageBrokerConfigurer - 有替代方案吗?

Con*_*eer 6 java spring spring-security spring-websocket

我正在尝试结合 Spring-Security 来了解有关 Spring-Websocket 的更多信息,并且正在尝试Spring 文档中的示例。

在创建我的课程WebSecurityConfig并从AbstractWebSocketMessageBrokerConfigurer我那里扩展后,我被告知AbstractWebSocketMessageBrokerConfigurer已弃用。

我试图找出是否有其他方法可以将 Spring-Security 与 Spring-Websocket 结合使用,但找不到相关内容。

所以,我的问题是我应该继续使用AbstractWebSocketMessageBrokerConfigurer还是有另一种方法将 Spring-Security 与 Spring-Websocket 结合起来?

这是我在测试项目中实现的示例。它似乎对你有用,但在AbstractWebSocketMessageBrokerConfigurer弃用之前不应该有 Spring 的替代方案吗?

@Configuration
public class WebSocketSecurityConfig extends AbstractWebSocketMessageBrokerConfigurer {

        protected void configureInbound(MessageSecurityMetadataSourceRegistry messages) {
                messages.simpDestMatchers("/user/*").authenticated();
        }
}
Run Code Online (Sandbox Code Playgroud)

Art*_*lan 16

请阅读该弃用类的 JavaDocs:

 * @deprecated as of 5.0 in favor of simply using {@link WebSocketMessageBrokerConfigurer}
 * which has default methods, made possible by a Java 8 baseline.
 */
@Deprecated
public abstract class AbstractWebSocketMessageBrokerConfigurer implements WebSocketMessageBrokerConfigurer {
Run Code Online (Sandbox Code Playgroud)

  • 嗯,我总是将源代码附加到项目中,因此当我看到弃用警告时,我会跳转到源代码来确定原因和替代方案。这一切都归功于 Spring 的开源特性! (3认同)
  • 你在 IDE 中看到这个了吗?在 IntelliJ 中,我只有 `/** @deprecated */` 注释。但在你的回答之后,我再次查看了 Spring 文档,我真的很尴尬,因为我忽略了“已弃用”下的评论。 (2认同)