gluu
公開メンバ関数 | 静的公開変数類 | 非公開変数類 | 全メンバ一覧
org.xdi.oxauth.service.UserService クラス
org.xdi.oxauth.service.UserService 連携図
Collaboration graph

公開メンバ関数

User getUserByDn (String dn, String... returnAttributes)
 
User getUserByInum (String inum, String... returnAttributes)
 
User getUser (String userId, String... returnAttributes)
 
String getUserInum (User user)
 
String getUserInum (String userId)
 
String getUserNameByInum (String inum)
 
User updateUser (User user)
 
User addDefaultUser (String uid)
 
User addUser (User user, boolean active)
 
User getUserByAttribute (String attributeName, String attributeValue)
 
List< UsergetUsersBySample (User user, int limit)
 
User addUserAttributeByUserInum (String userInum, String attributeName, String attributeValue)
 
User addUserAttribute (String userId, String attributeName, String attributeValue)
 
boolean addUserAttribute (User user, String attributeName, String attributeValue)
 
User removeUserAttribute (String userId, String attributeName, String attributeValue)
 
User replaceUserAttribute (String userId, String attributeName, String oldAttributeValue, String newAttributeValue)
 
CustomAttribute getCustomAttribute (User user, String attributeName)
 
void setCustomAttribute (User user, String attributeName, String attributeValue)
 
boolean saveLongLivedToken (String userId, PersistentJwt longLivedToken)
 
List< UsergetUsersWithPersistentJwts ()
 
String getDnForUser (String inum)
 
String getUserInumByDn (String dn)
 
String encodeGeneralizedTime (Date date)
 
Date decodeGeneralizedTime (String date)
 

静的公開変数類

static final String [] USER_OBJECT_CLASSES = new String[] { "gluuPerson" }
 

非公開変数類

Logger log
 
PersistenceEntryManager ldapEntryManager
 
InumService inumService
 
StaticConfiguration staticConfiguration
 
AppConfiguration appConfiguration
 

詳解

Provides operations with users.

著者
Javier Rojas Blum Date: 11.30.2011

関数詳解

◆ addDefaultUser()

User org.xdi.oxauth.service.UserService.addDefaultUser ( String  uid)
inline
140  {
141  String peopleBaseDN = staticConfiguration.getBaseDn().getPeople();
142 
143  String inum = inumService.generatePeopleInum();
144 
145  User user = new User();
146  user.setDn("inum=" + inum + "," + peopleBaseDN);
147  user.setCustomAttributes(Arrays.asList(
148  new CustomAttribute("inum", inum),
149  new CustomAttribute("gluuStatus", GluuStatus.ACTIVE.getValue()),
150  new CustomAttribute("displayName", "User " + uid + " added via oxAuth custom plugin")));
151  user.setUserId(uid);
152 
153  List<String> personCustomObjectClassList = appConfiguration.getPersonCustomObjectClassList();
154  if ((personCustomObjectClassList != null) && !personCustomObjectClassList.isEmpty()) {
155  user.setCustomObjectClasses(personCustomObjectClassList.toArray(new String[personCustomObjectClassList.size()]));
156  }
157 
158  ldapEntryManager.persist(user);
159 
160  return getUser(uid);
161  }
PersistenceEntryManager ldapEntryManager
Definition: UserService.java:49
AppConfiguration appConfiguration
Definition: UserService.java:58
InumService inumService
Definition: UserService.java:52
String getPeople()
Definition: BaseDnConfiguration.java:101
StaticConfiguration staticConfiguration
Definition: UserService.java:55
String generatePeopleInum()
Definition: InumService.java:45
User getUser(String userId, String... returnAttributes)
Definition: UserService.java:87
List< String > getPersonCustomObjectClassList()
Definition: AppConfiguration.java:968
BaseDnConfiguration getBaseDn()
Definition: StaticConfiguration.java:32

◆ addUser()

User org.xdi.oxauth.service.UserService.addUser ( User  user,
boolean  active 
)
inline
163  {
164  String peopleBaseDN = staticConfiguration.getBaseDn().getPeople();
165 
166  String inum = inumService.generatePeopleInum();
167 
168  user.setDn("inum=" + inum + "," + peopleBaseDN);
169  user.setAttribute("inum", inum);
170 
171  GluuStatus status = active ? GluuStatus.ACTIVE : GluuStatus.REGISTER;
172  user.setAttribute("gluuStatus", status.getValue());
173 
174  List<String> personCustomObjectClassList = appConfiguration.getPersonCustomObjectClassList();
175  if ((personCustomObjectClassList != null) && !personCustomObjectClassList.isEmpty()) {
176  Set<String> allObjectClasses = new HashSet<String>();
177  allObjectClasses.addAll(personCustomObjectClassList);
178 
179  String currentObjectClasses[] = user.getCustomObjectClasses();
180  if (ArrayHelper.isNotEmpty(currentObjectClasses)) {
181  allObjectClasses.addAll(Arrays.asList(currentObjectClasses));
182  }
183 
184  user.setCustomObjectClasses(allObjectClasses.toArray(new String[allObjectClasses.size()]));
185  }
186 
187  ldapEntryManager.persist(user);
188 
189  return getUserByDn(user.getDn());
190  }
PersistenceEntryManager ldapEntryManager
Definition: UserService.java:49
AppConfiguration appConfiguration
Definition: UserService.java:58
InumService inumService
Definition: UserService.java:52
String getPeople()
Definition: BaseDnConfiguration.java:101
StaticConfiguration staticConfiguration
Definition: UserService.java:55
String generatePeopleInum()
Definition: InumService.java:45
List< String > getPersonCustomObjectClassList()
Definition: AppConfiguration.java:968
User getUserByDn(String dn, String... returnAttributes)
Definition: UserService.java:66
BaseDnConfiguration getBaseDn()
Definition: StaticConfiguration.java:32

◆ addUserAttribute() [1/2]

User org.xdi.oxauth.service.UserService.addUserAttribute ( String  userId,
String  attributeName,
String  attributeValue 
)
inline
240  {
241  log.debug("Add user attribute to LDAP: attributeName = '{}', attributeValue = '{}'", attributeName, attributeValue);
242 
243  User user = getUser(userId);
244  if (user == null) {
245  // We uses this result in Person Authentication Scripts
246  return null;
247  }
248 
249  boolean result = addUserAttribute(user, attributeName, attributeValue);
250  if (!result) {
251  // We uses this result in Person Authentication Scripts
252  return null;
253  }
254 
255  return updateUser(user);
256  }
User addUserAttribute(String userId, String attributeName, String attributeValue)
Definition: UserService.java:240
User getUser(String userId, String... returnAttributes)
Definition: UserService.java:87
Logger log
Definition: UserService.java:46
User updateUser(User user)
Definition: UserService.java:136

◆ addUserAttribute() [2/2]

boolean org.xdi.oxauth.service.UserService.addUserAttribute ( User  user,
String  attributeName,
String  attributeValue 
)
inline
258  {
259  CustomAttribute customAttribute = getCustomAttribute(user, attributeName);
260  if (customAttribute == null) {
261  customAttribute = new CustomAttribute(attributeName, attributeValue);
262  user.getCustomAttributes().add(customAttribute);
263  } else {
264  List<String> currentAttributeValues = customAttribute.getValues();
265 
266  List<String> newAttributeValues = new ArrayList<String>();
267  newAttributeValues.addAll(currentAttributeValues);
268 
269  if (newAttributeValues.contains(attributeValue)) {
270  return false;
271  } else {
272  newAttributeValues.add(attributeValue);
273  }
274 
275  customAttribute.setValues(newAttributeValues);
276  }
277 
278  return true;
279  }
CustomAttribute getCustomAttribute(User user, String attributeName)
Definition: UserService.java:337

◆ addUserAttributeByUserInum()

User org.xdi.oxauth.service.UserService.addUserAttributeByUserInum ( String  userInum,
String  attributeName,
String  attributeValue 
)
inline
222  {
223  log.debug("Add user attribute by user inum to LDAP: attributeName = '{}', attributeValue = '{}'", attributeName, attributeValue);
224 
225  User user = getUserByInum(userInum);
226  if (user == null) {
227  return null;
228  }
229 
230  boolean result = addUserAttribute(user, attributeName, attributeValue);
231  if (!result) {
232  // We uses this result in Person Authentication Scripts
233  addUserAttribute(user, attributeName, attributeValue);
234  }
235 
236  return updateUser(user);
237 
238  }
User addUserAttribute(String userId, String attributeName, String attributeValue)
Definition: UserService.java:240
User getUserByInum(String inum, String... returnAttributes)
Definition: UserService.java:73
Logger log
Definition: UserService.java:46
User updateUser(User user)
Definition: UserService.java:136

◆ decodeGeneralizedTime()

Date org.xdi.oxauth.service.UserService.decodeGeneralizedTime ( String  date)
inline
431  {
432  return ldapEntryManager.decodeTime(date);
433  }
PersistenceEntryManager ldapEntryManager
Definition: UserService.java:49

◆ encodeGeneralizedTime()

String org.xdi.oxauth.service.UserService.encodeGeneralizedTime ( Date  date)
inline
427  {
428  return ldapEntryManager.encodeTime(date);
429  }
PersistenceEntryManager ldapEntryManager
Definition: UserService.java:49

◆ getCustomAttribute()

CustomAttribute org.xdi.oxauth.service.UserService.getCustomAttribute ( User  user,
String  attributeName 
)
inline
337  {
338  for (CustomAttribute customAttribute : user.getCustomAttributes()) {
339  if (StringHelper.equalsIgnoreCase(attributeName, customAttribute.getName())) {
340  return customAttribute;
341  }
342  }
343 
344  return null;
345  }

◆ getDnForUser()

String org.xdi.oxauth.service.UserService.getDnForUser ( String  inum)
inline
393  {
394  String peopleDn = staticConfiguration.getBaseDn().getPeople();
395  if (StringHelper.isEmpty(inum)) {
396  return peopleDn;
397  }
398 
399  return String.format("inum=%s,%s", inum, peopleDn);
400  }
String getPeople()
Definition: BaseDnConfiguration.java:101
StaticConfiguration staticConfiguration
Definition: UserService.java:55
BaseDnConfiguration getBaseDn()
Definition: StaticConfiguration.java:32

◆ getUser()

User org.xdi.oxauth.service.UserService.getUser ( String  userId,
String...  returnAttributes 
)
inline
87  {
88  log.debug("Getting user information from LDAP: userId = {}", userId);
89 
90  if (StringHelper.isEmpty(userId)) {
91  return null;
92  }
93 
94  Filter userUidFilter = Filter.createEqualityFilter("uid", userId);
95 
96  List<User> entries = ldapEntryManager.findEntries(staticConfiguration.getBaseDn().getPeople(), User.class, userUidFilter, returnAttributes);
97  log.debug("Found {} entries for user id = {}", entries.size(), userId);
98 
99  if (entries.size() > 0) {
100  return entries.get(0);
101  } else {
102  return null;
103  }
104  }
PersistenceEntryManager ldapEntryManager
Definition: UserService.java:49
String getPeople()
Definition: BaseDnConfiguration.java:101
StaticConfiguration staticConfiguration
Definition: UserService.java:55
Logger log
Definition: UserService.java:46
BaseDnConfiguration getBaseDn()
Definition: StaticConfiguration.java:32

◆ getUserByAttribute()

User org.xdi.oxauth.service.UserService.getUserByAttribute ( String  attributeName,
String  attributeValue 
)
inline
192  {
193  log.debug("Getting user information from LDAP: attributeName = '{}', attributeValue = '{}'", attributeName, attributeValue);
194 
195  User user = new User();
196  user.setDn(staticConfiguration.getBaseDn().getPeople());
197 
198  List<CustomAttribute> customAttributes = new ArrayList<CustomAttribute>();
199  customAttributes.add(new CustomAttribute(attributeName, attributeValue));
200 
201  user.setCustomAttributes(customAttributes);
202 
203  List<User> entries = ldapEntryManager.findEntries(user);
204  log.debug("Found '{}' entries", entries.size());
205 
206  if (entries.size() > 0) {
207  return entries.get(0);
208  } else {
209  return null;
210  }
211  }
PersistenceEntryManager ldapEntryManager
Definition: UserService.java:49
String getPeople()
Definition: BaseDnConfiguration.java:101
StaticConfiguration staticConfiguration
Definition: UserService.java:55
Logger log
Definition: UserService.java:46
BaseDnConfiguration getBaseDn()
Definition: StaticConfiguration.java:32

◆ getUserByDn()

User org.xdi.oxauth.service.UserService.getUserByDn ( String  dn,
String...  returnAttributes 
)
inline

returns User by Dn

戻り値
User
66  {
67  if (Util.isNullOrEmpty(dn)) {
68  return null;
69  }
70  return ldapEntryManager.find(User.class, dn, returnAttributes);
71  }
PersistenceEntryManager ldapEntryManager
Definition: UserService.java:49

◆ getUserByInum()

User org.xdi.oxauth.service.UserService.getUserByInum ( String  inum,
String...  returnAttributes 
)
inline
73  {
74  if (StringHelper.isEmpty(inum)) {
75  return null;
76  }
77 
78  String userDn = getDnForUser(inum);
79  User user = getUserByDn(userDn, returnAttributes);
80  if (user == null) {
81  return null;
82  }
83 
84  return user;
85  }
String getDnForUser(String inum)
Definition: UserService.java:393
User getUserByDn(String dn, String... returnAttributes)
Definition: UserService.java:66

◆ getUserInum() [1/2]

String org.xdi.oxauth.service.UserService.getUserInum ( User  user)
inline
106  {
107  if (user == null) {
108  return null;
109  }
110 
111  String inum = user.getAttribute("inum");
112 
113  return inum;
114  }

◆ getUserInum() [2/2]

String org.xdi.oxauth.service.UserService.getUserInum ( String  userId)
inline
116  {
117  User user = getUser(userId, "inum");
118 
119  return getUserInum(user);
120  }
User getUser(String userId, String... returnAttributes)
Definition: UserService.java:87
String getUserInum(User user)
Definition: UserService.java:106

◆ getUserInumByDn()

String org.xdi.oxauth.service.UserService.getUserInumByDn ( String  dn)
inline
402  {
403  if (StringHelper.isEmpty(dn)) {
404  return null;
405  }
406 
407  String peopleDn = staticConfiguration.getBaseDn().getPeople();
408  if (!dn.toLowerCase().endsWith(peopleDn.toLowerCase())) {
409  return null;
410  }
411  String firstDnPart = dn.substring(0, dn.length() - peopleDn.length());
412 
413  String[] dnParts = firstDnPart.split(",");
414  if (dnParts.length == 0) {
415  return null;
416  }
417 
418  String userInumPart = dnParts[dnParts.length - 1];
419  String[] userInumParts = userInumPart.split("=");
420  if ((userInumParts.length == 2) && StringHelper.equalsIgnoreCase(userInumParts[0], "inum")) {
421  return userInumParts[1];
422  }
423 
424  return null;
425  }
String getPeople()
Definition: BaseDnConfiguration.java:101
StaticConfiguration staticConfiguration
Definition: UserService.java:55
BaseDnConfiguration getBaseDn()
Definition: StaticConfiguration.java:32

◆ getUserNameByInum()

String org.xdi.oxauth.service.UserService.getUserNameByInum ( String  inum)
inline
122  {
123  if (StringHelper.isEmpty(inum)) {
124  return null;
125  }
126 
127  String userDn = getDnForUser(inum);
128  User user = getUserByDn(userDn, "uid");
129  if (user == null) {
130  return null;
131  }
132 
133  return user.getUserId();
134  }
String getDnForUser(String inum)
Definition: UserService.java:393
User getUserByDn(String dn, String... returnAttributes)
Definition: UserService.java:66

◆ getUsersBySample()

List<User> org.xdi.oxauth.service.UserService.getUsersBySample ( User  user,
int  limit 
)
inline
213  {
214  log.debug("Getting user by sample");
215 
216  List<User> entries = ldapEntryManager.findEntries(user, limit);
217  log.debug("Found '{}' entries", entries.size());
218 
219  return entries;
220  }
PersistenceEntryManager ldapEntryManager
Definition: UserService.java:49
Logger log
Definition: UserService.java:46

◆ getUsersWithPersistentJwts()

List<User> org.xdi.oxauth.service.UserService.getUsersWithPersistentJwts ( )
inline
386  {
387  String baseDN = staticConfiguration.getBaseDn().getPeople();
388  Filter filter = Filter.createPresenceFilter("oxAuthPersistentJWT");
389 
390  return ldapEntryManager.findEntries(baseDN, User.class, filter);
391  }
PersistenceEntryManager ldapEntryManager
Definition: UserService.java:49
String getPeople()
Definition: BaseDnConfiguration.java:101
StaticConfiguration staticConfiguration
Definition: UserService.java:55
BaseDnConfiguration getBaseDn()
Definition: StaticConfiguration.java:32

◆ removeUserAttribute()

User org.xdi.oxauth.service.UserService.removeUserAttribute ( String  userId,
String  attributeName,
String  attributeValue 
)
inline
281  {
282  log.debug("Remove user attribute from LDAP: attributeName = '{}', attributeValue = '{}'", attributeName, attributeValue);
283 
284  User user = getUser(userId);
285  if (user == null) {
286  return null;
287  }
288 
289  CustomAttribute customAttribute = getCustomAttribute(user, attributeName);
290  if (customAttribute != null) {
291  List<String> currentAttributeValues = customAttribute.getValues();
292  if (currentAttributeValues.contains(attributeValue)) {
293 
294  List<String> newAttributeValues = new ArrayList<String>();
295  newAttributeValues.addAll(currentAttributeValues);
296  if (currentAttributeValues.contains(attributeValue)) {
297  newAttributeValues.remove(attributeValue);
298  } else {
299  return null;
300  }
301 
302  customAttribute.setValues(newAttributeValues);
303  }
304  }
305 
306  return updateUser(user);
307  }
User getUser(String userId, String... returnAttributes)
Definition: UserService.java:87
Logger log
Definition: UserService.java:46
CustomAttribute getCustomAttribute(User user, String attributeName)
Definition: UserService.java:337
User updateUser(User user)
Definition: UserService.java:136

◆ replaceUserAttribute()

User org.xdi.oxauth.service.UserService.replaceUserAttribute ( String  userId,
String  attributeName,
String  oldAttributeValue,
String  newAttributeValue 
)
inline
309  {
310  log.debug("Replace user attribute in LDAP: attributeName = '{}', oldAttributeValue = '{}', newAttributeValue = '{}'", attributeName, oldAttributeValue, newAttributeValue);
311 
312  User user = getUser(userId);
313  if (user == null) {
314  return null;
315  }
316 
317  CustomAttribute customAttribute = getCustomAttribute(user, attributeName);
318  if (customAttribute != null) {
319  List<String> currentAttributeValues = customAttribute.getValues();
320  List<String> newAttributeValues = new ArrayList<String>();
321  newAttributeValues.addAll(currentAttributeValues);
322 
323  if (currentAttributeValues.contains(oldAttributeValue)) {
324  newAttributeValues.remove(oldAttributeValue);
325  }
326 
327  if (!newAttributeValues.contains(newAttributeValue)) {
328  newAttributeValues.add(newAttributeValue);
329  }
330 
331  customAttribute.setValues(newAttributeValues);
332  }
333 
334  return updateUser(user);
335  }
User getUser(String userId, String... returnAttributes)
Definition: UserService.java:87
Logger log
Definition: UserService.java:46
CustomAttribute getCustomAttribute(User user, String attributeName)
Definition: UserService.java:337
User updateUser(User user)
Definition: UserService.java:136

◆ saveLongLivedToken()

boolean org.xdi.oxauth.service.UserService.saveLongLivedToken ( String  userId,
PersistentJwt  longLivedToken 
)
inline
359  {
360  log.debug("Saving long-lived access token: userId = {}", userId);
361  boolean succeed = false;
362 
363  User user = getUser(userId);
364  if (user != null) {
365  int nTokens = 0;
366  if (user.getOxAuthPersistentJwt() != null) {
367  nTokens = user.getOxAuthPersistentJwt().length;
368  }
369  nTokens++;
370  String[] persistentJwts = new String[nTokens];
371  if (user.getOxAuthPersistentJwt() != null) {
372  for (int i = 0; i < user.getOxAuthPersistentJwt().length; i++) {
373  persistentJwts[i] = user.getOxAuthPersistentJwt()[i];
374  }
375  }
376  persistentJwts[nTokens - 1] = longLivedToken.toString();
377 
378  user.setOxAuthPersistentJwt(persistentJwts);
379  ldapEntryManager.merge(user);
380  succeed = true;
381  }
382 
383  return succeed;
384  }
PersistenceEntryManager ldapEntryManager
Definition: UserService.java:49
User getUser(String userId, String... returnAttributes)
Definition: UserService.java:87
Logger log
Definition: UserService.java:46

◆ setCustomAttribute()

void org.xdi.oxauth.service.UserService.setCustomAttribute ( User  user,
String  attributeName,
String  attributeValue 
)
inline
347  {
348  CustomAttribute customAttribute = getCustomAttribute(user, attributeName);
349 
350  if (customAttribute == null) {
351  customAttribute = new CustomAttribute(attributeName);
352  user.getCustomAttributes().add(customAttribute);
353  }
354 
355  customAttribute.setValue(attributeValue);
356  }
CustomAttribute getCustomAttribute(User user, String attributeName)
Definition: UserService.java:337

◆ updateUser()

User org.xdi.oxauth.service.UserService.updateUser ( User  user)
inline
136  {
137  return ldapEntryManager.merge(user);
138  }
PersistenceEntryManager ldapEntryManager
Definition: UserService.java:49

メンバ詳解

◆ appConfiguration

AppConfiguration org.xdi.oxauth.service.UserService.appConfiguration
private

◆ inumService

InumService org.xdi.oxauth.service.UserService.inumService
private

◆ ldapEntryManager

PersistenceEntryManager org.xdi.oxauth.service.UserService.ldapEntryManager
private

◆ log

Logger org.xdi.oxauth.service.UserService.log
private

◆ staticConfiguration

StaticConfiguration org.xdi.oxauth.service.UserService.staticConfiguration
private

◆ USER_OBJECT_CLASSES

final String [] org.xdi.oxauth.service.UserService.USER_OBJECT_CLASSES = new String[] { "gluuPerson" }
static

このクラス詳解は次のファイルから抽出されました: