【发布时间】:2018-06-26 09:44:41
【问题描述】:
在 ASP.net CORE MVC 网站中使用 Active Directory,
我可以获得许多用户属性,例如 diplayName、emailAdress ...
但是我找不到用户所在的部门。
获取用户信息:
UserPrincipal user = UserPrincipal.FindByIdentity(new PrincipalContext(ContextType.Domain), Environment.UserName);
但用户没有“部门”属性。
我试过了:
DirectoryEntry directoryEntry = user.GetUnderlyingObject() as DirectoryEntry;
var property = "department";
if (directoryEntry.Properties.Contains(property))
{
var dep = directoryEntry.Properties[property].Value.ToString();
}
也没有部门财产。
编辑
这里是可用属性列表:"objectClass, cn, sn, title, description, userCertificate, givenName, distinguishedName, instanceType, whenCreated, whenChanged, displayName, uSNCreated, memberOf, uSNChanged, proxyAddresses, homeMDB, mDBUseDefaults, mailNickname, name, objectGUID, userAccountControl, badPwdCount, codePage, countryCode, badPasswordTime, lastLogon, pwdLastSet, primaryGroupID, objectSid, accountExpires, logonCount, sAMAccountName, sAMAccountType, showInAddressBook, legacyExchangeDN, userPrincipalName, objectCategory, dSCorePropagationData, lastLogonTimestamp, textEncodedORAddress, mail and Lot of msExchange"
【问题讨论】:
-
可能与AD条目有关,也可能与您的代码有关。你的代码对我来说看起来不错。如果 AD 数据没有您想要检查的值,我建议您详细说明问题所在。
标签: c# asp.net-core active-directory