我已经实现了 System.DirectoryServices.AccountManagement 以通过给定用户名的身份在我的 webapps 中查找用户 (UserPrincipal) 进行身份验证。但是,我有几种情况需要只给定一个employeeID 来获取AD 帐户。有没有一种好方法可以在 AccountManagement 中获得一个给定员工 ID 的 UserPrincipal(甚至只是 sAMAccountName)?
我目前正在通过用户名来获取用户:
PrincipalContext adAuth = new PrincipalContext(ContextType.Domain, Environment.UserDomainName);
//get user
UserPrincipal usr = UserPrincipal.FindByIdentity(adAuth, username);
我一直在寻找,似乎无法找到答案来确认这是否可以完成。如果我不能用 AccountManagement 做到这一点,那么在给定员工 ID 的情况下获取 sAMAccountName 的最佳方法是什么?