com.sksamuel.scruffy.security.authentication

SessionAuthenticationStrategy

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: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. implicit def ToFutureOps[A](a: A): FutureOps[A] { def self: A }

    Definition Classes
    ResponseBuilder
  7. def accepted: HttpResponse

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

    Definition Classes
    Any
  9. 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
  10. def badGateway: HttpResponse

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

    Definition Classes
    ResponseBuilder
  12. def badRequest: HttpResponse

    Definition Classes
    ResponseBuilder
  13. def clone(): AnyRef

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

    Definition Classes
    ResponseBuilder
  15. def created: HttpResponse

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

    Definition Classes
    AnyRef
  17. def expectationFailed: HttpResponse

    Definition Classes
    ResponseBuilder
  18. 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
  19. def finalize(): Unit

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

    Definition Classes
    ResponseBuilder
  21. def forbidden: HttpResponse

    Definition Classes
    ResponseBuilder
  22. def found: HttpResponse

    Definition Classes
    ResponseBuilder
  23. def gatewayTimeout: HttpResponse

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

    Definition Classes
    AnyRef → Any
  25. def gone: HttpResponse

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

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

    Definition Classes
    ResponseBuilder
  28. def internalServerError: HttpResponse

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

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

    Definition Classes
    Any
  31. def lengthRequired: HttpResponse

    Definition Classes
    ResponseBuilder
  32. def methodNotAllowed: HttpResponse

    Definition Classes
    ResponseBuilder
  33. def movedPermanently: HttpResponse

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

    Definition Classes
    AnyRef
  35. def nocontent: HttpResponse

    Definition Classes
    ResponseBuilder
  36. def nonAuthoritativeInformation: HttpResponse

    Definition Classes
    ResponseBuilder
  37. def notAcceptable: HttpResponse

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

    Definition Classes
    ResponseBuilder
  39. def notFound: HttpResponse

    Definition Classes
    ResponseBuilder
  40. def notImplemented: HttpResponse

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

    Definition Classes
    ResponseBuilder
  42. def notModified: HttpResponse

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

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

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

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

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

    Definition Classes
    ResponseBuilder
  48. def ok: HttpResponse

    Definition Classes
    ResponseBuilder
  49. def partialContent: HttpResponse

    Definition Classes
    ResponseBuilder
  50. def paymentRequired: HttpResponse

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

    Definition Classes
    ResponseBuilder
  52. def preconditionFailed: HttpResponse

    Definition Classes
    ResponseBuilder
  53. def proxyAuthenticationRequired: HttpResponse

    Definition Classes
    ResponseBuilder
  54. def requestEntityTooLarge: HttpResponse

    Definition Classes
    ResponseBuilder
  55. def requestHeaderFieldsTooLarge: HttpResponse

    Definition Classes
    ResponseBuilder
  56. def requestTimeout: HttpResponse

    Definition Classes
    ResponseBuilder
  57. def requestURITooLong: HttpResponse

    Definition Classes
    ResponseBuilder
  58. def requestedRangeNotSatisfiable: HttpResponse

    Definition Classes
    ResponseBuilder
  59. def resetContent: HttpResponse

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

    Definition Classes
    ResponseBuilder
  61. def serviceUnavailable: HttpResponse

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

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

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

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

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

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

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

    Definition Classes
    ResponseBuilder
  68. def tooManyRequests: HttpResponse

    Definition Classes
    ResponseBuilder
  69. def unauthorized: HttpResponse

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

    Definition Classes
    ResponseBuilder
  71. def unprocessableEntity: HttpResponse

    Definition Classes
    ResponseBuilder
  72. def unsupportedMediaType: HttpResponse

    Definition Classes
    ResponseBuilder
  73. def useProxy: HttpResponse

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  76. 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