]>
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
;
10 import org
.argeo
.osgi
.useradmin
.UserDirectory
;
11 import org
.osgi
.framework
.InvalidSyntaxException
;
12 import org
.osgi
.service
.useradmin
.Role
;
13 import org
.osgi
.service
.useradmin
.User
;
16 * Provide method interfaces to manage user concepts without accessing directly
19 public interface CmsUserManager
{
20 public Map
<String
, String
> getKnownBaseDns(boolean onlyWritable
);
21 public Set
<UserDirectory
> getUserDirectories();
24 /** Returns the e-mail of the current logged in user */
25 public String
getMyMail();
28 /** Returns a {@link User} given a username */
29 public User
getUser(String username
);
31 /** Can be a group or a user */
32 public String
getUserDisplayName(String dn
);
34 /** Can be a group or a user */
35 public String
getUserMail(String dn
);
37 /** Lists all roles of the given user */
38 public String
[] getUserRoles(String dn
);
40 /** Checks if the passed user belongs to the passed role */
41 public boolean isUserInRole(String userDn
, String roleDn
);
44 /** Returns a filtered list of roles */
45 public Role
[] getRoles(String filter
) throws InvalidSyntaxException
;
47 /** Recursively lists users in a given group. */
48 public Set
<User
> listUsersInGroup(String groupDn
, String filter
);
50 /** Search among groups including system roles and users if needed */
51 public List
<User
> listGroups(String filter
, boolean includeUsers
, boolean includeSystemRoles
);
54 /** Returns the dn of a role given its local ID */
55 public String
buildDefaultDN(String localId
, int type
);
57 /** Exposes the main default domain name for this instance */
58 public String
getDefaultDomainName();
61 * Search for a {@link User} (might also be a group) whose uid or cn is equals
62 * to localId within the various user repositories defined in the current
65 public User
getUserFromLocalId(String localId
);
67 void changeOwnPassword(char[] oldPassword
, char[] newPassword
);
69 void resetPassword(String username
, char[] newPassword
);
72 String
addSharedSecret(String username
, int hours
);
74 // String addSharedSecret(String username, String authInfo, String authToken);
76 void addAuthToken(String userDn
, String token
, Integer hours
, String
... roles
);
78 void addAuthToken(String userDn
, String token
, ZonedDateTime expiryDate
, String
... roles
);
80 void expireAuthToken(String token
);
82 void expireAuthTokens(Subject subject
);
84 UserDirectory
getDirectory(Role role
);
86 // User createUserFromPerson(Node person);
89 // public UserAdmin getUserAdmin();
92 // public UserTransaction getUserTransaction();