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. implicit class 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. val accepted: HttpResponse

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

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

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

    Definition Classes
    ResponseBuilder
  11. val badRequest: HttpResponse

    Definition Classes
    ResponseBuilder
  12. def clone(): AnyRef

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

    Definition Classes
    ResponseBuilder
  14. val created: HttpResponse

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

    Definition Classes
    AnyRef
  16. val expectationFailed: HttpResponse

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

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

    Definition Classes
    ResponseBuilder
  20. def forbidden: HttpResponse

    Definition Classes
    ResponseBuilder
  21. val found: HttpResponse

    Definition Classes
    ResponseBuilder
  22. def gatewayTimeout: HttpResponse

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

    Definition Classes
    AnyRef → Any
  24. val gone: HttpResponse

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

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

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

    Definition Classes
    ResponseBuilder
  28. val internalServerError: HttpResponse

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

    Definition Classes
    Any
  30. val lengthRequired: HttpResponse

    Definition Classes
    ResponseBuilder
  31. val methodNotAllowed: HttpResponse

    Definition Classes
    ResponseBuilder
  32. val movedPermanently: HttpResponse

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

    Definition Classes
    AnyRef
  34. val nocontent: HttpResponse

    Definition Classes
    ResponseBuilder
  35. val nonAuthoritativeInformation: HttpResponse

    Definition Classes
    ResponseBuilder
  36. val notAcceptable: HttpResponse

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

    Definition Classes
    ResponseBuilder
  38. val notFound: HttpResponse

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

    Definition Classes
    ResponseBuilder
  40. val notImplemented: HttpResponse

    Definition Classes
    ResponseBuilder
  41. val notModified: HttpResponse

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

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

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

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

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

    Definition Classes
    ResponseBuilder
  47. val ok: HttpResponse

    Definition Classes
    ResponseBuilder
  48. val partialContent: HttpResponse

    Definition Classes
    ResponseBuilder
  49. val paymentRequired: HttpResponse

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

    Definition Classes
    ResponseBuilder
  51. val preconditionFailed: HttpResponse

    Definition Classes
    ResponseBuilder
  52. val proxyAuthenticationRequired: HttpResponse

    Definition Classes
    ResponseBuilder
  53. val requestEntityTooLarge: HttpResponse

    Definition Classes
    ResponseBuilder
  54. val requestHeaderFieldsTooLarge: HttpResponse

    Definition Classes
    ResponseBuilder
  55. val requestTimeout: HttpResponse

    Definition Classes
    ResponseBuilder
  56. val requestURITooLong: HttpResponse

    Definition Classes
    ResponseBuilder
  57. val requestedRangeNotSatisfiable: HttpResponse

    Definition Classes
    ResponseBuilder
  58. val resetContent: HttpResponse

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

    Definition Classes
    ResponseBuilder
  60. val serviceUnavailable: HttpResponse

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

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

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

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

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

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

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

    Definition Classes
    ResponseBuilder
  67. val tooManyRequests: HttpResponse

    Definition Classes
    ResponseBuilder
  68. val unauthorized: HttpResponse

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

    Definition Classes
    ResponseBuilder
  70. val unprocessableEntity: HttpResponse

    Definition Classes
    ResponseBuilder
  71. val unsupportedMediaType: HttpResponse

    Definition Classes
    ResponseBuilder
  72. val useProxy: HttpResponse

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

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

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