com.sksamuel.scruffy.security.authentication

SessionAuthenticationStrategy

Related Doc: package authentication

case class SessionAuthenticationStrategy(sessionKey: SessionKey[Principal] = PrincipalSessionKey) extends AuthenticationStrategy with ResponseBuilder with Product with Serializable

An AuthenticationStrategy that retrieves a Principal from the current session. This Principal is then added to the request for downstream processing.

The Principal must be set on the session by some step handled externally to this class, for example a login page or some SSO mechanism eg Kerberos.

If no Principal is set on the current session then a 401 is returned.

There must have been an appropriately configured SessionManager in the endpoint before authentication is attempted.

sessionKey

is used to specify the key that the Principal is stored in inside the session.

Linear Supertypes
Serializable, Serializable, Product, Equals, ResponseBuilder, AuthenticationStrategy, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SessionAuthenticationStrategy
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. ResponseBuilder
  7. AuthenticationStrategy
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SessionAuthenticationStrategy(sessionKey: SessionKey[Principal] = PrincipalSessionKey)

    sessionKey

    is used to specify the key that the Principal is stored in inside the session.

Type Members

  1. trait FutureOps[A] extends AnyRef

    Definition Classes
    ResponseBuilder

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. implicit def ToFutureOps[A](a: A): FutureOps[A] { def self: A }

    Definition Classes
    ResponseBuilder
  5. def accepted: HttpResponse

    Definition Classes
    ResponseBuilder
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def authenticate(req: HttpRequest): Future[Try[Principal]]

    Authenticate must either return a Scala Try with the result of the authentication.

    Authenticate must either return a Scala Try with the result of the authentication. If the authentication was successful then it should return a Success of Principal. Otherwise it should return a Failure with some exception indicating the failure.

    Definition Classes
    SessionAuthenticationStrategyAuthenticationStrategy
  8. def badGateway: HttpResponse

    Definition Classes
    ResponseBuilder
  9. def badRequest(reason: String): HttpResponse

    Definition Classes
    ResponseBuilder
  10. def badRequest: HttpResponse

    Definition Classes
    ResponseBuilder
  11. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def conflict: HttpResponse

    Definition Classes
    ResponseBuilder
  13. def created: HttpResponse

    Definition Classes
    ResponseBuilder
  14. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. def expectationFailed: HttpResponse

    Definition Classes
    ResponseBuilder
  16. def failureHandler: AuthenticationFailureHandler

    Returns an AuthenticationFailureHandler which is invoked with the result of authenticate if the authentication process fails.

    Returns an AuthenticationFailureHandler which is invoked with the result of authenticate if the authentication process fails.

    By default, a DefaultAuthenticationFailureHandler is returned which returns a Http 401.

    Definition Classes
    AuthenticationStrategy
  17. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def forbidden(reason: String): HttpResponse

    Definition Classes
    ResponseBuilder
  19. def forbidden: HttpResponse

    Definition Classes
    ResponseBuilder
  20. def found: HttpResponse

    Definition Classes
    ResponseBuilder
  21. def gatewayTimeout: HttpResponse

    Definition Classes
    ResponseBuilder
  22. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  23. def gone: HttpResponse

    Definition Classes
    ResponseBuilder
  24. def internalServerError(entity: Any): HttpResponse

    Definition Classes
    ResponseBuilder
  25. def internalServerError(reason: String): HttpResponse

    Definition Classes
    ResponseBuilder
  26. def internalServerError: HttpResponse

    Definition Classes
    ResponseBuilder
  27. def internalServerError(e: Throwable): HttpResponse

    Definition Classes
    ResponseBuilder
  28. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  29. def lengthRequired: HttpResponse

    Definition Classes
    ResponseBuilder
  30. def methodNotAllowed: HttpResponse

    Definition Classes
    ResponseBuilder
  31. def movedPermanently: HttpResponse

    Definition Classes
    ResponseBuilder
  32. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  33. def nocontent: HttpResponse

    Definition Classes
    ResponseBuilder
  34. def nonAuthoritativeInformation: HttpResponse

    Definition Classes
    ResponseBuilder
  35. def notAcceptable: HttpResponse

    Definition Classes
    ResponseBuilder
  36. def notFound(body: String): HttpResponse

    Definition Classes
    ResponseBuilder
  37. def notFound: HttpResponse

    Definition Classes
    ResponseBuilder
  38. def notImplemented: HttpResponse

    Definition Classes
    ResponseBuilder
  39. def notImplemented(reason: String): HttpResponse

    Definition Classes
    ResponseBuilder
  40. def notModified: HttpResponse

    Definition Classes
    ResponseBuilder
  41. final def notify(): Unit

    Definition Classes
    AnyRef
  42. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  43. def ok(ent: Any, contentType: MediaType): HttpResponse

    Definition Classes
    ResponseBuilder
  44. def ok(ent: Any, contentType: String): HttpResponse

    Definition Classes
    ResponseBuilder
  45. def ok(e: Any): HttpResponse

    Definition Classes
    ResponseBuilder
  46. def ok: HttpResponse

    Definition Classes
    ResponseBuilder
  47. def partialContent: HttpResponse

    Definition Classes
    ResponseBuilder
  48. def paymentRequired: HttpResponse

    Definition Classes
    ResponseBuilder
  49. def permanentRedirect(location: String): HttpResponse

    Definition Classes
    ResponseBuilder
  50. def preconditionFailed: HttpResponse

    Definition Classes
    ResponseBuilder
  51. def proxyAuthenticationRequired: HttpResponse

    Definition Classes
    ResponseBuilder
  52. def requestEntityTooLarge: HttpResponse

    Definition Classes
    ResponseBuilder
  53. def requestHeaderFieldsTooLarge: HttpResponse

    Definition Classes
    ResponseBuilder
  54. def requestTimeout: HttpResponse

    Definition Classes
    ResponseBuilder
  55. def requestURITooLong: HttpResponse

    Definition Classes
    ResponseBuilder
  56. def requestedRangeNotSatisfiable: HttpResponse

    Definition Classes
    ResponseBuilder
  57. def resetContent: HttpResponse

    Definition Classes
    ResponseBuilder
  58. def seeOther(location: String): HttpResponse

    Definition Classes
    ResponseBuilder
  59. def serviceUnavailable: HttpResponse

    Definition Classes
    ResponseBuilder
  60. val sessionKey: SessionKey[Principal]

    is used to specify the key that the Principal is stored in inside the session.

  61. def status(s: Int, reason: String): HttpResponse

    Definition Classes
    ResponseBuilder
  62. def status(s: Int): HttpResponse

    Definition Classes
    ResponseBuilder
  63. def status(s: HttpStatus): HttpResponse

    Definition Classes
    ResponseBuilder
  64. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  65. def temporaryRedirect(location: String): HttpResponse

    Definition Classes
    ResponseBuilder
  66. def tooManyRequests: HttpResponse

    Definition Classes
    ResponseBuilder
  67. def unauthorized: HttpResponse

    Definition Classes
    ResponseBuilder
  68. def unprocessableEntity(reason: String): HttpResponse

    Definition Classes
    ResponseBuilder
  69. def unprocessableEntity: HttpResponse

    Definition Classes
    ResponseBuilder
  70. def unsupportedMediaType: HttpResponse

    Definition Classes
    ResponseBuilder
  71. def useProxy: HttpResponse

    Definition Classes
    ResponseBuilder
  72. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  73. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  74. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from ResponseBuilder

Inherited from AuthenticationStrategy

Inherited from AnyRef

Inherited from Any

Ungrouped