Packages

t

org.hungerford.rbac

SecureController

trait SecureController[RequestType, UserType <: User] extends AnyRef

Provides utility methods for managing authentication and authorization in REST controllers.

RequestType

Type of request handled by controller

UserType

Subtype of User

Examples:
  1. class MyScalatraServlet extends ScalatraServlet with SecureController[ HttpServletRequest ]

  2. ,
  3. class SecureAbstractController @Inject() ( cc: ControllerComponents ) extends AbstractController( cc ) with SecureController[ Request[ AnyContent ] ]

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SecureController
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class Authenticate(request: RequestType) extends Product with Serializable

    Methods for handling requests with authentication.

    Methods for handling requests with authentication.

    request

    RequestType

    Attributes
    protected[org.hungerford.rbac]
  2. case class Secure(operation: Permissible, request: RequestType) extends Product with Serializable

    Methods for handling requests with authentication and authorization.

    Methods for handling requests with authentication and authorization.

    Secures against a given operation Secure.operation.

    operation

    Permissible operation to secure against

    request

    RequestType incoming http request

    Attributes
    protected[org.hungerford.rbac]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def authenticate(request: RequestType): Boolean

    Authenticates a request without returning user or permissions data.

    Authenticates a request without returning user or permissions data.

    request

    RequestType incoming http request

    returns

    Boolean whether authentication was successful

    Annotations
    @throws( ... )
    Exceptions thrown

    AuthenticationException Provide information about failure instead of returning false

  6. def authenticatePermission(request: RequestType): Permission

    Authenticates a request, returning authenticated permissions.

    Authenticates a request, returning authenticated permissions.

    request

    RequestType incoming http request

    returns

    UserType authenticated user object

    Annotations
    @throws( ... )
    Exceptions thrown

    AuthenticationException Provide information about failure instead of returning false

  7. def authenticateRole(request: RequestType): Role

    Authenticates a request, returning authenticated roles.

    Authenticates a request, returning authenticated roles.

    request

    RequestType incoming http request

    returns

    UserType authenticated user object

    Annotations
    @throws( ... )
    Exceptions thrown

    AuthenticationException Provide information about failure instead of returning false

  8. def authenticateUser(request: RequestType): UserType

    Authenticates a request, returning authenticated user.

    Authenticates a request, returning authenticated user.

    request

    RequestType incoming http request

    returns

    UserType authenticated user object

    Annotations
    @throws( ... )
    Exceptions thrown

    AuthenticationException Provide information about failure instead of returning false

  9. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped