Class DefaultValuesAuthenticationSourceDecorator
java.lang.Object
org.springframework.ldap.authentication.DefaultValuesAuthenticationSourceDecorator
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean
,AuthenticationSource
public class DefaultValuesAuthenticationSourceDecorator
extends Object
implements AuthenticationSource, org.springframework.beans.factory.InitializingBean
Decorator on AuthenticationSource to have default authentication information be
returned should the target return empty principal and credentials. Useful in
combination with
AcegiAuthenticationSource
if users are to be allowed to
read some information even though they are not logged in.
Note: The defaultUser
should be an non-privileged user. This is
important as this is the one that will be used when no user is logged in (i.e. empty
principal is returned from the target AuthenticationSource).
-
Constructor Summary
ConstructorDescriptionConstructor for bean usage.DefaultValuesAuthenticationSourceDecorator
(AuthenticationSource target, String defaultUser, String defaultPassword) Constructor to setup instance directly. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Checks if the target's principal is not empty; if not, the credentials from the target is returned - otherwise return thedefaultPassword
.Checks if the target's principal is not empty; if not, this is returned - otherwise return thedefaultPassword
.void
setDefaultPassword
(String defaultPassword) Set the password of the default user.void
setDefaultUser
(String defaultUser) Set the default user DN.void
setTarget
(AuthenticationSource target) Set the target AuthenticationSource.
-
Constructor Details
-
DefaultValuesAuthenticationSourceDecorator
public DefaultValuesAuthenticationSourceDecorator()Constructor for bean usage. -
DefaultValuesAuthenticationSourceDecorator
public DefaultValuesAuthenticationSourceDecorator(AuthenticationSource target, String defaultUser, String defaultPassword) Constructor to setup instance directly.- Parameters:
target
- the target AuthenticationSource.defaultUser
- dn of the user to use when the target returns an empty principal.defaultPassword
- password of the user to use when the target returns an empty principal.
-
-
Method Details
-
getCredentials
Checks if the target's principal is not empty; if not, the credentials from the target is returned - otherwise return thedefaultPassword
.- Specified by:
getCredentials
in interfaceAuthenticationSource
- Returns:
- the target's password if the target's principal is not empty, the
defaultPassword
otherwise.
-
getPrincipal
Checks if the target's principal is not empty; if not, this is returned - otherwise return thedefaultPassword
.- Specified by:
getPrincipal
in interfaceAuthenticationSource
- Returns:
- the target's principal if it is not empty, the
defaultPassword
otherwise.
-
setDefaultPassword
Set the password of the default user.- Parameters:
defaultPassword
- the password of the default user.
-
setDefaultUser
Set the default user DN. This should be a non-privileged user, since it will be used when no authentication information is returned from the target.- Parameters:
defaultUser
- DN of the default user.
-
setTarget
Set the target AuthenticationSource.- Parameters:
target
- the target AuthenticationSource.
-
afterPropertiesSet
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
Exception
-