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