【发布时间】:2016-05-07 09:49:14
【问题描述】:
我想在我的 Play 应用模型深处访问当前用户,例如设置作者、检查用户是否可以实际保存此类型等。
理想情况下,我想使用 Guice 的 @RequestScoped 在我的请求中注入相同的 UserIdentity,无论我需要什么。但是,据我所知,Play!框架仅支持@Singleton 和无范围。因此,我们要么在请求中注入相同的UserIdentity,要么为我们请求的每个模型/实用程序注入不同的UserIdentity。出于显而易见的原因,两者都不可行。
有没有办法在 Play 2.5 中利用这种行为?
我尝试过的其他方法
我尝试过结合使用 Play 的会话和缓存。但我遇到的问题是会话是不可变的,所以我不能向它添加任何东西以在同一个请求中重用。
我查看了一堆身份验证框架,但它们似乎都专注于保护操作,而不是为我提供当前的用户对象。
【问题讨论】:
-
你找到解决方案了吗?
-
@pme 我最终将我的 UserIdentity 类作为隐式验证发送。
-
感谢您的回复 - 我是这么认为的或 Guice Assigned。我也试了一下,但还没有答案:stackoverflow.com/questions/51281807/…
标签: scala playframework guice playframework-2.5