1 package org.argeo.cms;
2
3 import java.time.ZonedDateTime;
4 import java.util.List;
5 import java.util.Set;
6
7 import javax.jcr.Node;
8 import javax.security.auth.Subject;
9 import javax.transaction.UserTransaction;
10
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;
15
16
17
18
19
20 public interface CmsUserManager {
21
22
23
24 public String getMyMail();
25
26
27
28 public User getUser(String username);
29
30
31 public String getUserDisplayName(String dn);
32
33
34 public String getUserMail(String dn);
35
36
37 public String[] getUserRoles(String dn);
38
39
40 public boolean isUserInRole(String userDn, String roleDn);
41
42
43
44 public Role[] getRoles(String filter) throws InvalidSyntaxException;
45
46
47 public Set<User> listUsersInGroup(String groupDn, String filter);
48
49
50 public List<User> listGroups(String filter, boolean includeUsers, boolean includeSystemRoles);
51
52
53
54 public String buildDefaultDN(String localId, int type);
55
56
57 public String getDefaultDomainName();
58
59
60
61
62
63
64 public User getUserFromLocalId(String localId);
65
66 void changeOwnPassword(char[] oldPassword, char[] newPassword);
67
68 void resetPassword(String username, char[] newPassword);
69
70 @Deprecated
71 String addSharedSecret(String username, int hours);
72
73
74
75 void addAuthToken(String userDn, String token, Integer hours, String... roles);
76
77 void addAuthToken(String userDn, String token, ZonedDateTime expiryDate, String... roles);
78
79 void expireAuthToken(String token);
80
81 void expireAuthTokens(Subject subject);
82
83 User createUserFromPerson(Node person);
84
85 @Deprecated
86 public UserAdmin getUserAdmin();
87
88 @Deprecated
89 public UserTransaction getUserTransaction();
90 }