public class ReflectionSaltSource extends java.lang.Object implements SaltSource, org.springframework.beans.factory.InitializingBean
User
object.
This allows you to subclass User
and provide an additional bean getter for
a salt. You should use a synthetic value that does not change, such as a database
primary key. Do not use username
if it is likely to change.
Constructor and Description |
---|
ReflectionSaltSource() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
java.lang.Object |
getSalt(UserDetails user)
Performs reflection on the passed
User to obtain the salt. |
protected java.lang.String |
getUserPropertyToUse() |
void |
setUserPropertyToUse(java.lang.String userPropertyToUse)
The method name to call to obtain the salt.
|
java.lang.String |
toString() |
public void afterPropertiesSet() throws java.lang.Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
java.lang.Exception
public java.lang.Object getSalt(UserDetails user)
User
to obtain the salt.
The property identified by userPropertyToUse
must be available from
the passed User
object. If it is not available, an
AuthenticationServiceException
will be thrown.
getSalt
in interface SaltSource
user
- which contains the method identified by userPropertyToUse
AuthenticationServiceException
- if reflection failsprotected java.lang.String getUserPropertyToUse()
public void setUserPropertyToUse(java.lang.String userPropertyToUse)
UserDetails
contains a
UserDetails.getSalt()
method, you should set this property to
"getSalt" or "salt".userPropertyToUse
- the name of the getter to call to obtain the salt
from the UserDetails
public java.lang.String toString()
toString
in class java.lang.Object