Spring Security授权异常求助:认证正常但授权/跳转异常
Spring Security认证授权异常求助
最近跟着教程配置Spring Security,结果踩了个莫名其妙的坑:系统要么能完成认证但授权直接失效,要么授权正常但认证环节出问题,而且最气人的是,登录成功后死活跳不到指定的页面!我感觉这肯定是个低级错误,但翻来覆去排查了好半天,就是没找到问题出在哪。下面是我的相关配置文件和日志片段,麻烦帮忙看看:
1. Spring Security配置类
(如果你的配置代码没贴全的话,麻烦补充完整哦,比如configure(HttpSecurity http)方法的具体实现)
2. application-dev.properties配置
# 请把你的application-dev.properties内容贴在这里
3. 关键日志片段
DEBUG o.s.s.w.a.i.FilterSecurityInterceptor - Previously Authenticated: org.springframework.security.authentication.AnonymousAuthenticationToken@2dafa81d: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@b364: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS
另外,我自己先列几个常见的排查方向,你可以先自查下:
- 检查登录成功跳转的配置:是不是没正确设置
defaultSuccessUrl或者自定义的successHandler?有没有可能路径写错了? - 授权规则的顺序:Spring Security的规则是从上到下匹配的,是不是先写了
permitAll()的宽松规则,后面的hasRole()等严格规则被覆盖了? - 用户角色权限的注入:数据库里的角色是不是带了
ROLE_前缀?或者配置里有没有修改rolePrefix导致不匹配? - 匿名用户的拦截规则:是不是不小心给已认证用户的路径也开了匿名访问,导致权限判断失效?
内容的提问来源于stack exchange,提问作者Kronen
相关产品推荐
相关产品推荐

