]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - UserAdminService.java
4babb87a03c7c40e687802412cc2956fa0402de6
1 package org
.argeo
.security
;
6 public interface UserAdminService
{
8 * Usernames must match this regexp pattern ({@value #USERNAME_PATTERN}).
10 * "http://www.mkyong.com/regular-expressions/how-to-validate-username-with-regular-expression/"
11 * >this tip</a> (modified to remove '-')
13 public final static String USERNAME_PATTERN
= "^[a-z0-9_]{3,15}$";
16 * Email addresses must match this regexp pattern ({@value #EMAIL_PATTERN}.
18 * "http://www.mkyong.com/regular-expressions/how-to-validate-email-address-with-regular-expression/"
21 public final static String EMAIL_PATTERN
= "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
26 public void newUser(ArgeoUser argeoUser
);
28 public ArgeoUser
getUser(String username
);
30 public Set
<ArgeoUser
> listUsers();
32 public Boolean
userExists(String username
);
34 public void updateUser(ArgeoUser user
);
36 public void updateUserPassword(String username
, String password
);
38 /** List users having this role (except the super user). */
39 public Set
<ArgeoUser
> listUsersInRole(String role
);
41 public List
<String
> listUserRoles(String username
);
43 public void deleteUser(String username
);
45 /** Synchronize with the underlying DAO. */
46 public void synchronize();
51 public void newRole(String role
);
53 public Set
<String
> listEditableRoles();
55 public void deleteRole(String role
);