Closed pigzwy closed 4 years ago
你好,我刚刚查阅了下 spring security 5.4.1 的官方文档,确实调用方式有些变化,后面我也会考虑升级 Spring Boot 版本,但是当前建议你先按照这种方式尝试一下
定义校验类及方法
public class WebSecurity {
public boolean check(Authentication authentication, HttpServletRequest request) {
...
}
}
调用方式:
http
.authorizeRequests(authorize -> authorize
.antMatchers("/user/**").access("@webSecurity.check(authentication,request)")
...
)
参考链接:https://docs.spring.io/spring-security/site/docs/5.4.1/reference/html5/#el-access-web-beans
// 所有请求都需要登录访问
.anyRequest()
.authenticated()
把这两行代码注释掉就好了
按照demo逻辑写的代码,最后启动程序报错
Can't configure anyRequest after itself
跟老哥写的代码一模一样了,还是启动不起来,最后排查到我用的是spring boot 2.3.0,demo里用的是2.1.0,
spring security版本分别为 5.1.1 - 5.3.2 修改版本为spring boot 2.1.0之后,可以启动了。
但是我们的项目中用的是2.3.0的版本,对比发现是这两行代码版本的区别
我找了好久不知道怎么解决这个问题, 这里想问下 spring boot 2.3.0版本下怎么使用这个demo!