我想在我的 Play 应用程序模型的某个深处访问当前用户,例如设置作者、检查用户是否可以实际保存这种类型等。
理想情况下,我想使用的是 Guice在我的请求@RequestScoped
中注入相同UserIdentity
的东西,无论我需要什么。但是,据我所知,Play!框架只支持@Singleton
,没有范围。因此,我们要么UserIdentity
在请求中注入相同的注入,要么为我们请求的每个模型/实用程序注入不同的注入。出于显而易见的原因,两者都是不可行的。
有没有办法在 Play 2.5 中利用这种行为?
我尝试过的其他事情
我尝试过结合使用 Play 的会话和缓存。但我遇到的问题是会话是不可变的,所以我不能向它添加任何东西以在同一个请求中重用。
我查看了一堆身份验证框架,但它们似乎都专注于保护操作,而不是为我提供当前的用户对象。