【问题标题】:AbstractWebSocketMessageBrokerConfigurer in Spring-Security deprecated - is there an alternative?已弃用 Spring-Security 中的 AbstractWebSocketMessageBrokerConfigurer - 有替代方案吗?
【发布时间】:2020-01-19 04:08:20
【问题描述】:

我正在尝试更多地了解 Spring-Websocket 与 Spring-Security 的结合,并尝试了来自 Spring Documentation 的示例。

在创建我的课程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();
        }
}

【问题讨论】:

  • 替代方法在 javadoc 中。一如既往。

标签: java spring spring-security spring-websocket


【解决方案1】:

请阅读该已弃用类的 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 {

【讨论】:

  • 您在 IDE 中看到了吗?在 IntelliJ 中,我只有 /** @deprecated */ 评论。但是在您回答之后,我再次查看了 Spring Docs 并且真的很尴尬,我忽略了Deprecated 下的评论。
  • 嗯,我总是有源代码附加到项目中,所以当我看到一个弃用的警告时,我会跳转到源代码以确定原因和替代方案。感谢 Spring 的开源特性!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-29
  • 2012-04-16
  • 1970-01-01
  • 2012-04-24
  • 1970-01-01
  • 2015-04-11
  • 2016-08-16
相关资源
最近更新 更多