Springboot实现用户上下文控制


起因

在使用Spring Security的项目中,当用户登录成功后,Spring Security会自动注入UserCredential作为用户的上下文。
研究之后,在不使用Spring Security的项目中也实现了类似的效果。

解决方案

用户类

@Component
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class UserInfo {
	private String username;
}

UserInfo的作用域是请求,这意味每个请求进来的时候,SpringBoot会新建一个UserInfo,然后在请求完成后自动销毁这个Bean

一般情况下,可以在拦截器里注入该Bean,设置相应的属性。然后在业务代码中也自动注入该Bean,直接拿值就行了。


文章作者: Hiper
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Hiper !
  目录