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
-