package me.test; import javax.naming.NamingEnumeration; import javax.naming.NamingException; import javax.naming.directory.Attribute; import javax.naming.directory.Attributes; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.ldap.core.AttributesMapper; import org.springframework.ldap.core.LdapTemplate; import org.springframework.ldap.query.LdapQueryBuilder; public class QuerySingleUser { public static void main(String[] args) { @SuppressWarnings("resource") ApplicationContext appCtx = new ClassPathXmlApplicationContext("applicationContext.xml"); LdapTemplate ldapTemplate = (LdapTemplate) appCtx.getBean("ldapTemplate"); ldapTemplate.search( LdapQueryBuilder.query().where("mail").is("zhangliangliang@eetop.com"), new AttributesMapper<Void>() { public Void mapFromAttributes(Attributes attrs) throws NamingException { NamingEnumeration<String> attrIdEnum = attrs.getIDs(); while (attrIdEnum.hasMoreElements()) { String attrId = attrIdEnum.next(); Attribute attr = attrs.get(attrId); System.out.println(attrId + ":"); // 以单个值的方式获取 // System.out.println(" //" + attr.get()); // 以多个值的方式获取 NamingEnumeration<?> nameEnum = attr.getAll(); while (nameEnum.hasMore()) { Object valueObj = nameEnum.next(); System.out.printf(" %s%n", valueObj); } } return null; } }); } } /* ================================================ output: whenCreated: 20130218050850.0Z objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=tcgroup,DC=local badPwdCount: 0 mDBUseDefaults: TRUE codePage: 0 msExchDumpsterWarningQuota: 20971520 mail: zhangliangliang@eetop.com objectGUID: ??? msExchDumpsterQuota: 31457280 msExchUserAccountControl: 0 msExchModerationFlags: 6 msExchMailboxSecurityDescriptor: ??? memberOf: CN=TCMC-DHIS,OU=邮件通讯组,DC=tcgroup,DC=local CN=HIS研发组,CN=Users,DC=tcgroup,DC=local CN=研发中心开发组,OU=邮件通讯组,DC=tcgroup,DC=local CN=TCMC,OU=邮件通讯组,DC=tcgroup,DC=local CN=TCCloud,OU=邮件通讯组,DC=tcgroup,DC=local CN=研发中心(通讯组),OU=邮件通讯组,DC=tcgroup,DC=local msExchMailboxGuid: ??? instanceType: 4 internetEncoding: 0 msExchPoliciesIncluded: f5409f3c-245b-4e8c-9388-48a78b5e7ab3 {26491cfc-9e50-4857-861b-0cb8df22b5d7} objectSid: ??? badPasswordTime: 130382989540012012 proxyAddresses: SMTP:zhangliangliang@eetop.com dSCorePropagationData: 20130823103843.0Z 20130823103334.0Z 20130516064134.0Z 16010101181633.0Z objectClass: top person organizationalPerson user msExchWhenMailboxCreated: 20130218050850.0Z name: 张亮亮 msExchTransportRecipientSettingsFlags: 0 garbageCollPeriod: 1209600 msExchProvisioningFlags: 0 userAccountControl: 66048 primaryGroupID: 513 lastLogon: 130379382745825480 accountExpires: 9223372036854775807 msExchBypassAudit: FALSE lastLogoff: 0 uSNChanged: 46633016 lockoutTime: 0 msExchRBACPolicyLink: CN=Default Role Assignment Policy,CN=Policies,CN=RBAC,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=tcgroup,DC=local cn: 张亮亮 msExchArchiveWarnQuota: 47185920 msExchVersion: 44220983382016 msExchTextMessagingState: 302120705 16842751 title: JAVA研发工程师 protocolSettings: RemotePowerShell§1 logonCount: 2111 msExchHomeServerName: /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EX01 mobile: 18658853143 msExchMDBRulesQuota: 64 homeMTA: CN=Microsoft MTA,CN=EX01,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=tcgroup,DC=local sAMAccountType: 805306368 msExchRecipientTypeDetails: 1 legacyExchangeDN: /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=userd62c4768 uSNCreated: 17118291 displayName: 张亮亮 pwdLastSet: 130301660907861222 userPrincipalName: zhangliangliang@eetop.com msExchAddressBookFlags: 1 whenChanged: 20140303054241.0Z lastLogonTimestamp: 130382989610684995 msExchMailboxAuditEnable: FALSE department: 信息事业部 countryCode: 0 mailNickname: zhangliangliang msExchMailboxAuditLogAgeLimit: 7776000 msExchArchiveQuota: 52428800 distinguishedName: CN=张亮亮,OU=研发中心,OU=信息事业部,OU=通策集团,DC=tcgroup,DC=local msExchRecipientDisplayType: 1073741824 homeMDB: CN=First Mailbox DB,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=tcgroup,DC=local msExchUMDtmfMap: reversedPhone:34135885681 emailAddress:942645426454264 lastNameFirstName: firstNameLastName: msExchUMEnabledFlags2: -1 showInAddressBook: CN=Mailboxes(VLV),CN=All System Address Lists,CN=Address Lists Container,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=tcgroup,DC=local CN=All Mailboxes(VLV),CN=All System Address Lists,CN=Address Lists Container,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=tcgroup,DC=local CN=All Recipients(VLV),CN=All System Address Lists,CN=Address Lists Container,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=tcgroup,DC=local CN=默认全局地址列表,CN=All Global Address Lists,CN=Address Lists Container,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=tcgroup,DC=local CN=所有用户,CN=All Address Lists,CN=Address Lists Container,CN=First Organization,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=tcgroup,DC=local msExchUserCulture: zh-CN sAMAccountName: zhangliangliang */