我希望我的应用程序层知道登录哪个用户来简化方法签名 - 例如方法(所有者,对象)将只是方法(对象)。我使用Spring Security来保证安全性,虽然我想让Spring离开我的应用程序层,因此只有一个单独的层用于此目的(和DTO转换) - 就像一个外观(适用于应用程序服务的适配器)。
如何在不使用spring的情况下让应用程序层知道其操作的用户上下文?
答案 0 :(得分:1)
您需要注册一个Filter
或HandlerInterceptor
来查看HttpSession
,如果用户已登录,则存储某种User
某些static
ThreadLocal
上下文中的表示形式。然后,任何类都可以访问包含ThreadLocal
对象的静态User
。
当用户注销或会话过期时,您必须删除此对象。提示:HttpSessionListener
。