我特林獲得組列表的用戶中的一員,我目前能得到大多數屬性如下我如何獲得的memberOf從LDAP DirContextOperations
CustomLdapUserDetails.Essence essence = new CustomLdapUserDetails.Essence();
essence.setDn(dn);
Object passwordValue = ctx.getObjectAttribute(passwordAttributeName);
String givennameValue = (String)ctx.getObjectAttribute("givenname");
String snValue = (String)ctx.getObjectAttribute("sn");
String titleValue = (String)ctx.getObjectAttribute("title");
essence.setFirstname(givennameValue);
essence.setLastname(snValue);
,但我無法弄清楚如何屬性獲取memberOf屬性。如果我輸出的整個DirContextOperations作爲一個字符串,我得到以下
org.springframework.ldap.core.DirContextAdapter: dn=uid=emp123 {rdn=uid=emp123,
whenCreated=20110816063203.0Z,
objectCategory=CN=fompanyPerson,CN=Schema,CN=Configuration,CN={9F17F445-56C4-42D9-
B7C6-B630FFEA7F07}, badPwdCount=0, otherTelephone=123-456789, businessUnit=IREIRE BU,
ntAccount=DMN1\emp123, managerID=emp987, objectGUID=5?
?e6A??????/, [email protected], uid=emp123, companyWorkRelationship=EMP,
memberOf[0]=CN=ABC IREIRE,OU=AutoGroups,DC=entdir,DC=gtn,DC=com,
memberOf[1]=CN=azgEntJazzUsers,OU=AutoGroups,DC=entdir,DC=gtn,DC=com, companySite=DBL,
companyCostCenter=91827, companyBusinessGroup=IREIRE BG, ntDomain=DMN1, instanceType=4,
corpID=emp123, objectSid= I???&?C?k?J???????, st=XX, badPasswordTime=0, vdejoindn=P-
ENTDIRXXX-1:uid=emp123,DC=entdirXXX,DC=gtn,DC=com, companySourceSystem=C-WORKSYSTEM,
objectClass[0]=top, objectClass[1]=person, objectClass[2]=organizationalPerson,
objectClass[3]=user, objectClass[4]=inetOrgPerson, objectClass[5]=fompanyPerson,
company=ABC DEV, name=emp123, sn=Smith, exchangeAlias=emp123, telephoneNumber=1-987-6543,
ntDomainRelative=DMN1, uSNChanged=999111, physicalDeliveryOfficeName=DXI,
ntAccountRelative=DMN1\emp123, cn=Smith, John, exchangeServer=someServer,
documentumUserName=Smith JOHN emp123, title=SOFTWARE ENGINEER/DEVELOPER,
[email protected], msDS-UserAccountDisabled=TRUE,
managerName=Bloggs, Joe, givenName=John, uSNCreated=18418957, displayName=Smith, John,
pwdLastSet=629579433359695509, fompanyPersonStatus=A, whenChanged=20120266070711.0Z,
o=IREIRE BU, distinguishedName=uid=emp123,DC=entdirXXX,DC=gtn,DC=com, eDARevoke=N,
division=SEF-GL , manager=uid=emp987,DC=entdirXXX,DC=gtn,DC=com,
exchangeDirectory=SMXZG1DB, samAccountName=emp123, sametimeServer=cvxcluster}
我需要得到的是每一個的memberOf的CN值轉換成字符串數組,我曾嘗試:
ctx.getObjectAttribute("memberOf[1]"))
ctx.getObjectAttribute("memberOf"))
ctx.getObjectAttribute("memberOf=CN"))
我在網上看過設置的例子,但我找不到任何獲取的例子,是否真的更復雜,然後獲得其他屬性?
任何意見將不勝感激
我在應用上面的解決方案後得到了對象數組。現在,我想解析那個String對象來獲取經過身份驗證的用戶組,我該怎麼做?我應該分析字符串還是有任何LDAP實用程序,可以給我認證的用戶組? 我正在下面的字符串數組。 cn = admin,cn =用戶,cn = example,cn = org cn = team1,cn = users,cn = example,cn = org cn = team2,cn = users,cn = example,cn = org 從上面的輸出中可以清楚地看到,經過身份驗證的用戶是3個組的成員,即admin,team1,team2 – ved 2013-05-25 03:05:47