Spring security 获取当前用户

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring security 获取当前用户相关的知识,希望对你有一定的参考价值。

  spring security中当前用户信息

  1:如果在jsp页面中获取可以使用spring security的标签库

       在页面中引入标签

 

 

     然后:

 

 

    即可显示当前用户。 

 

2:如果要在程序中获得

      看了网上很多写法都是在程序中写这样的代码

 

 

     但我在实际运用中发现获得的Authentication为null。仔细看了下源代码发现,如果想用上面的代码获得当前用户,必须在spring    

     security过滤器执行中执行,否则在过滤链执行完时org.springframework.security.web.context.SecurityContextPersistenceFilter类会

     调用SecurityContextHolder.clearContext();而把SecurityContextHolder清空,所以会得到null。    经过spring security认证后,     

     security会把一个SecurityContextImpl对象存储到session中,此对象中有当前用户的各种资料

 

以上是关于Spring security 获取当前用户的主要内容,如果未能解决你的问题,请参考以下文章

spring security 获取当前登录用户

spring-security saml2:如何获取当前用户?

Spring Security-获取当前登录用户的详细信息

Spring Security-获取当前登录用户的详细信息

如何使用 Spring Security 获取当前用户的角色

如何从spring security获取当前登录的用户对象?