]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/CmsUserManager.java
3 import java
.time
.ZonedDateTime
;
8 import javax
.security
.auth
.Subject
;
9 import javax
.transaction
.UserTransaction
;
11 import org
.osgi
.framework
.InvalidSyntaxException
;
12 import org
.osgi
.service
.useradmin
.Role
;
13 import org
.osgi
.service
.useradmin
.User
;
14 import org
.osgi
.service
.useradmin
.UserAdmin
;
17 * Provide method interfaces to manage user concepts without accessing directly
20 public interface CmsUserManager
{
23 /** Returns the e-mail of the current logged in user */
24 public String
getMyMail();
27 /** Returns a {@link User} given a username */
28 public User
getUser(String username
);
30 /** Can be a group or a user */
31 public String
getUserDisplayName(String dn
);
33 /** Can be a group or a user */
34 public String
getUserMail(String dn
);
36 /** Lists all roles of the given user */
37 public String
[] getUserRoles(String dn
);
39 /** Checks if the passed user belongs to the passed role */
40 public boolean isUserInRole(String userDn
, String roleDn
);
43 /** Returns a filtered list of roles */
44 public Role
[] getRoles(String filter
) throws InvalidSyntaxException
;
46 /** Recursively lists users in a given group. */
47 public Set
<User
> listUsersInGroup(String groupDn
, String filter
);
49 /** Search among groups including system roles and users if needed */
50 public List
<User
> listGroups(String filter
, boolean includeUsers
, boolean includeSystemRoles
);
53 /** Returns the dn of a role given its local ID */
54 public String
buildDefaultDN(String localId
, int type
);
56 /** Exposes the main default domain name for this instance */
57 public String
getDefaultDomainName();
60 * Search for a {@link User} (might also be a group) whose uid or cn is equals
61 * to localId within the various user repositories defined in the current
64 public User
getUserFromLocalId(String localId
);
66 void changeOwnPassword(char[] oldPassword
, char[] newPassword
);
68 void resetPassword(String username
, char[] newPassword
);
71 String
addSharedSecret(String username
, int hours
);
73 // String addSharedSecret(String username, String authInfo, String authToken);
75 void addAuthToken(String userDn
, String token
, Integer hours
, String
... roles
);
77 void addAuthToken(String userDn
, String token
, ZonedDateTime expiryDate
, String
... roles
);
79 void expireAuthToken(String token
);
81 void expireAuthTokens(Subject subject
);
83 User
createUserFromPerson(Node person
);
86 public UserAdmin
getUserAdmin();
89 public UserTransaction
getUserTransaction();