作为初学者,我目前正在尝试从 Spring 2.x -> 3.1.5 迁移到 Spring Security,但我不太理解迁移说明。
有人可以解释旧的 requestMatchers 和新的 securityMatchers 之间的确切区别吗?下面附上的代码是旧版本,但 requestMatcher 不再起作用。注释掉的部分和下面的部分是等价的吗?
//http.authorizeHttpRequests((authz) -> authz.anyRequest());
//http.securityMatcher().authorizeHttpRequests((authz) -> authz.anyRequest());
http.requestMatchers().anyRequest();
将感谢您的每一个回答:)
首先,您必须查看迁移指南,您可以在其中找到问题的答案:
在 Spring Security 5.8 中,antMatchers、mvcMatchers 和 HttpSecurity 中的 requestMatchers 方法已被弃用,取而代之的是 新的 securityMatchers 方法。
这意味着您必须替换您放入的下一段代码:
//http.authorizeHttpRequests((authz) -> authz.anyRequest());
//http.securityMatcher().authorizeHttpRequests((authz) -> authz.anyRequest());
http.requestMatchers().anyRequest();
下一篇:
http.authorizeHttpRequests(AbstractRequestMatcherRegistry::anyRequest);
http.securityMatcher().authorizeHttpRequests(AbstractRequestMatcherRegistry::anyRequest);
http.securityMatchers(AbstractRequestMatcherRegistry::anyRequest);
有关它的更多详细信息,您可以在上面的迁移指南参考中找到。