A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.playframework.com/documentation/2.5.x/api/scala/play/api/mvc/Security$.html below:

Security - play.api.mvc.Security

An authenticated action builder.

An authenticated action builder.

This can be used to create an action builder, like so:

// in a Security trait
object Authenticated extends AuthenticatedBuilder(req => getUserFromRequest(req))

// then in a controller
def index = Authenticated { implicit request =>
  Ok("Hello " + request.user)
}

It can also be used from an action builder, for example:

class AuthenticatedDbRequest[A](val user: User,
                                val conn: Connection,
                                request: Request[A]) extends WrappedRequest[A](request)

object Authenticated extends ActionBuilder[AuthenticatedDbRequest] {
  def invokeBlock[A](request: Request[A], block: (AuthenticatedDbRequest[A]) => Future[Result]) = {
    AuthenticatedBuilder(req => getUserFromRequest(req)).authenticate(request, { authRequest: AuthenticatedRequest[A, User] =>
      DB.withConnection { conn =>
        block(new AuthenticatedDbRequest[A](authRequest.user, conn, request))
      }
    })
  }
}

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4