Playframework(Scala):传递用户模型

时间:2014-07-18 11:27:41

标签: scala playframework playframework-2.0

我想知道通过用户'模型的最佳做法是什么?周围。我接受http请求并将其转换为我的控制器中的用户模型。我不想为这个模型的所有模板显式添加一个参数,也不想为main添加一个参数。 这样做的最佳做法是什么?

感谢。

2 个答案:

答案 0 :(得分:2)

如果您正在登录,并且该用户是经过身份验证的用户,那么您应该将用户置于WrappedRequest中,并在模板中隐式发出请求。如果您使用类似SecureSocial的东西,那么UserAwareAction将为您提供RequestWithUser(请参阅http://securesocial.ws/guide/user-service.html),您可以执行类似

的操作
@()(implicit req:RequestWithUser)

Email = @{req.user.map(_.email)}

在你的模板中。

答案 1 :(得分:0)

使用会话范围。

以下是Play 2.0的文档

http://www.playframework.com/documentation/2.0.2/ScalaSessionFlash

例如,在登录时,将用户添加到会话

在注销时从会话中删除用户

干杯!