class
LdapAuthenticator[T] extends (Option[UserPass]) ⇒ Future[Option[T]]
Instance Constructors
-
new
LdapAuthenticator(config: LdapAuthConfig[T])(implicit ec: ExecutionContext, log: LoggingContext)
Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
def
andThen[A](g: (Future[Option[T]]) ⇒ A): (Option[UserPass]) ⇒ A
-
def
apply(userPassOption: Option[UserPass]): Future[Option[T]]
-
final
def
asInstanceOf[T0]: T0
-
def
attribute2LdapAttribute(attr: Attribute): LdapAttribute
-
def
clone(): AnyRef
-
def
compose[A](g: (A) ⇒ Option[UserPass]): (A) ⇒ Future[Option[T]]
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
def
ldapContext(user: String, pass: String): Either[Throwable, InitialLdapContext]
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
query(ldapContext: InitialLdapContext, user: String): List[LdapQueryResult]
-
def
searchControls(user: String): SearchControls
-
def
searchResult2LdapQueryResult(searchResult: SearchResult): LdapQueryResult
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from (Option[UserPass]) ⇒ Future[Option[T]]
Inherited from AnyRef
Inherited from Any
The LdapAuthenticator faciliates user/password authentication against an LDAP server. It delegates the application specific parts of the LDAP configuration to the given LdapAuthConfig instance, which is also responsible for creating the object representing the application-specific user context.
Authentication against an LDAP server is done in two separate steps: First, some "search credentials" are used to log into the LDAP server and perform a search for the directory entry matching a given user name. If exactly one user entry is found another LDAP bind operation is performed using the principal DN of the found user entry to validate the password.