【问题标题】:Playframework(Scala): passing user model aroundPlayframework(Scala):传递用户模型
【发布时间】:2014-09-09 12:43:29
【问题描述】:

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

谢谢。

【问题讨论】:

标签: scala playframework playframework-2.0


【解决方案1】:

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

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

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

在您的模板中。

【讨论】:

    【解决方案2】:

    使用 Session 范围。

    这是 Play 2.0 的文档

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

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

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

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-19
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多