【问题标题】:Playframework Scala Authentication Builder Cached onUnauthorizedPlay Framework Scala Authentication Builder Cache on Unauthorized
【发布时间】:2014-01-13 09:31:19
【问题描述】:

我正在尝试从 auth 构建器缓存未经授权的结果,但我找不到从缓存中正确请求结果的方法(不使用带有反向路由的重定向)任何想法?这是我的代码:

  object Authenticated extends AuthenticatedBuilder(
    request =>
      request.session.get("email"),
    request =>
        Unauthorized(html.index("fail!", loginForm))
   )

我想做这样的事情:

  object Authenticated extends AuthenticatedBuilder(
    request =>
      request.session.get("email"),
    request =>
      Cached("Fail") { Action { implicit request =>
        Unauthorized(html.index("fail!", loginForm))
        }
      }
   )

这当然会返回 Cached 而不是 simpleResult 并失败...

顺便说一句,我正在使用 play 2.2.1

【问题讨论】:

  • 您是否尝试过使用Play's cachegetOrElse 方法?
  • 感谢@Peter 做得很好!

标签: scala playframework playframework-2.2


【解决方案1】:

感谢@Peter,我能够返回 SimpleResultgetOrElse,我的最终代码有点复杂,但这里有一个示例,希望能帮助更多人:

  import play.api.cache.Cache
  import play.api.Play.current
  import play.api.mvc.Security.AuthenticatedBuilder

  object Authenticated extends AuthenticatedBuilder(
    request =>
      request.session.get("email"),
    request =>
      Cache.getOrElse("UnAuth"){
        Unauthorized("Fail")
      }
   )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-28
    • 2014-11-30
    • 2013-01-06
    相关资源
    最近更新 更多