]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/UserAdminService.java
1 package org
.argeo
.security
;
5 import org
.springframework
.security
.userdetails
.UserDetailsManager
;
7 /** Enrich {@link UserDetailsManager} in order to provide roles semantics. */
8 public interface UserAdminService
extends UserDetailsManager
{
10 * Usernames must match this regexp pattern ({@value #USERNAME_PATTERN}).
12 * "http://www.mkyong.com/regular-expressions/how-to-validate-username-with-regular-expression/"
13 * >this tip</a> (modified to add upper-case, add '@')
15 //public final static String USERNAME_PATTERN = "^[a-zA-Z0-9_-@]{3,64}$";
18 * Email addresses must match this regexp pattern ({@value #EMAIL_PATTERN}.
20 * "http://www.mkyong.com/regular-expressions/how-to-validate-email-address-with-regular-expression/"
23 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,})$";
28 /** List all users. */
29 public Set
<String
> listUsers();
31 /** List users having this role (except the super user). */
32 public Set
<String
> listUsersInRole(String role
);
34 /** Synchronize with the underlying DAO. */
35 public void synchronize();
40 public void newRole(String role
);
42 public Set
<String
> listEditableRoles();
44 public void deleteRole(String role
);