Spring Security--获取登录成功的用户信息

这里讲的是securiy处理用户信息的方法。

首先,服务端一定是讲用户信息存到Httpsession中。

1.首先,前端发起一个登陆请求,这个请求会经过security 一系列的过滤器,其中有一个SecurityContextPersistenceFilter过滤器,主要用来处理当前用户信息。在用户登录成功后,自动将用户信息存入到SecurityContextHolder中。 SecurityContextHolder 的底层就是 ThreadLocal。

也就是说只有在主线程中才可以获取到用户信息。我们举个例子:

 代码如上,运行一下

 打印了一个Uer信息,新线程里的报了个空。

2.在登录请求处理完毕后,响应数据给前端时,也会经过SecurityContextPersistenceFilter 过滤器,此时,会将用户信息存入Httpsession中。

3.下一个请求来的时候,还是会经过SecurityContextPersistenceFilter 过滤器,,此时系统还是会从Httpsession 中读取出登录成功的用户信息,并将之存入SecurityContextHolder 中。

然后也可以在Httpsession中拿值

 

猜你喜欢

转载自blog.csdn.net/a2285786446/article/details/131187867