Spring Sercurity获取不到当前用户信息值为Null

  • Post author:
  • Post category:其他


今天使用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阅读



版权声明:本文为qq_39054053原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。