Spring Sercurity获取不到当前用户信息值为Null
作者:互联网
今天使用Spring security获取当前用户信息时发现拿不到 Principal值为空并且报异常
前面我通过Spring Security的全局上下文设置 UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken= new UsernamePasswordAuthenticationToken(userDetails,null,userDetails.getAuthorities());
//加入全局上下文
SecurityContextHolder.getContext().setAuthentication(usernamePasswordAuthenticationToken);
后面我才知道是配置除了问题
这里http配置的authorizeRequests() .antMatchers(“xxx”) .permitAll()**不会绕开springsecurity的过滤器验证
- 而web.ignoring是直接绕开security的所有filter,直接跳过验证。这里的登录地址不能放到web.ignoring()里面去这会导致sercurity不知道你已经登录了(去看过滤器源码),而http.permitAll()不会有影响
这算找到问题算在了
详细请到江南一点雨中的这边文章https://blog.csdn.net/dnc8371/article/details/106702093阅读
标签:web,Spring,permitAll,值为,ignoring,userDetails,Null 来源: https://blog.csdn.net/qq_39054053/article/details/113786662