|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectcom.opensymphony.user.provider.ldap.LDAPCredentialsProvider
Provider for checking credentials against a LDAP directory.
Tries to connect to an LDAP directory with the specified username/password. Succeeds or fails depending on whether the LDAP authentication succeeds/fails.
The authentication algorithm is as follows:
A sample osuser.xml configuration:
<provider class="com.opensymphony.user.provider.ldap.LDAPCredentialsProvider">
<property name="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</property>
<property name="java.naming.provider.url">ldap://localhost:389</property>
<property name="searchBase">ou=People,dc=example,dc=com</property>
<property name="uidSearchName">uid</property>
<property name="java.naming.security.principal">cn=admin,dc=example,dc=com</property>
<property name="java.naming.security.credentials">secret</property>
<property name="exclusive-access">true</property>
</provider>
The security principal and credentials lines are optional, depending on whether your initial connection need be authenticated or not.
Currently, there must be at least one other non-LDAP CredentialsProvider configured for this provider to work. This is because there are user management features that LDAPCredentialsProvider does not provide on its own (create/delete user, change password). When calls to these methods are made, LDAPCredentialsProvider delegates the call to the other CredentialsProvider implementation.
Notes:
| Constructor Summary | |
LDAPCredentialsProvider()
|
|
| Method Summary | |
boolean |
authenticate(java.lang.String name,
java.lang.String password)
Check password supplied matches that of User. |
boolean |
changePassword(java.lang.String name,
java.lang.String password)
Change password of user. |
boolean |
create(java.lang.String name)
Create new Entity with given name. |
void |
flushCaches()
Flush the providers caches - if it is caching. |
boolean |
handles(java.lang.String name)
Determine whether this UserProvider implementation is responsible for handling this Entity. |
boolean |
init(java.util.Properties properties)
Called by UserManager before any other method. |
java.util.List |
list()
Returns List of names (Strings) of all Entities that can be accessed by this UserProvider If this UserProvider cannot retrieve a list of names, null is to be returned. |
boolean |
load(java.lang.String name,
Entity.Accessor accessor)
Load Entity. |
boolean |
remove(java.lang.String name)
Remove Entity with given name. |
boolean |
store(java.lang.String name,
Entity.Accessor accessor)
Stores changes to Entity. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public LDAPCredentialsProvider()
| Method Detail |
public boolean authenticate(java.lang.String name,
java.lang.String password)
CredentialsProvider
authenticate in interface CredentialsProvider
public boolean changePassword(java.lang.String name,
java.lang.String password)
CredentialsProvider
changePassword in interface CredentialsProviderpublic boolean create(java.lang.String name)
UserProvider
create in interface UserProviderpublic void flushCaches()
UserProvider
flushCaches in interface UserProviderpublic boolean handles(java.lang.String name)
UserProvider
handles in interface UserProviderpublic boolean init(java.util.Properties properties)
UserProvider
init in interface UserProviderproperties - Extra properties passed across by UserManager.public java.util.List list()
UserProvider
list in interface UserProvider
public boolean load(java.lang.String name,
Entity.Accessor accessor)
UserProvider
load in interface UserProviderpublic boolean remove(java.lang.String name)
UserProvider
remove in interface UserProvider
public boolean store(java.lang.String name,
Entity.Accessor accessor)
UserProvider
store in interface UserProvider
|
See www.opensymphony.com for more information. | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||