1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.security.spi.impl.ldap;
18
19 import org.apache.jetspeed.security.SecurityException;
20
21 /***
22 * <p>
23 * User credential dao.
24 * </p>
25 *
26 * @author <a href="mailto:mike.long@dataline.com">Mike Long </a>
27 */
28 public interface LdapUserCredentialDao extends LdapReadOnlyPrincipalDao
29 {
30 /***
31 * <p>
32 * Updates the password for the specified user.
33 * </p>
34 *
35 * @param uid The uid.
36 * @param password The password.
37 * @throws SecurityException A {@link SecurityException}.
38 */
39 abstract void changePassword(final String uid, final String password) throws SecurityException;
40
41 /***
42 * <p>
43 * Looks up the user by the UID attribute. If this lookup succeeds, this
44 * method then attempts to authenticate the user using the password,
45 * throwing an AuthenticationException if the password is incorrect or an
46 * OperationNotSupportedException if the password is empty.
47 * </p>
48 *
49 * @param uid The uid.
50 * @param password The password.
51 * @throws SecurityException A {@link SecurityException}.
52 */
53 abstract boolean authenticate(final String uid, final String password) throws SecurityException;
54
55 /***
56 * @param uid The uid.
57 * @return The password.
58 *@throws SecurityException A {@link SecurityException}.@throws SecurityException
59 */
60 abstract char[] getPassword(final String uid) throws SecurityException;
61 }