1

我想在我的 Play 应用程序模型的某个深处访问当前用户,例如设置作者、检查用户是否可以实际保存这种类型等。

理想情况下,我想使用的是 Guice在我的请求@RequestScoped中注入相同UserIdentity的东西,无论我需要什么。但是,据我所知,Play!框架只支持@Singleton,没有范围。因此,我们要么UserIdentity在请求中注入相同的注入,要么为我们请求的每个模型/实用程序注入不同的注入。出于显而易见的原因,两者都是不可行的。

有没有办法在 Play 2.5 中利用这种行为?

我尝试过的其他事情

我尝试过结合使用 Play 的会话和缓存。但我遇到的问题是会话是不可变的,所以我不能向它添加任何东西以在同一个请求中重用。

我查看了一堆身份验证框架,但它们似乎都专注于保护操作,而不是为我提供当前的用户对象。

4

1 回答 1

0

查看我对重定向请求问题的回答,其中我给出了在每个请求中获取当前用户的示例。

在这种情况下,授权密钥在登录时分发,客户端在此后的每个请求中传递它。

于 2016-05-07T12:22:43.647 回答