确定当前用户是否登录到Active Directory(或者是有效的活动目录用户)

时间:2011-04-02 10:25:59

标签: c# active-directory membership-provider

上下文:Excel插件需要测试当前的Windows用户是否是有效的活动目录用户(并根据此确定其他基于权限的逻辑)

我设置了Active Directory成员资格提供程序。使用System.Security.Principal.WindowsIdentity用户,我取出域名(用户帐户名称为\),然后使用用户名来测试Active Directory中的sAMAccountName(Membership.GetUser())。

这是测试当前用户是否登录到活动目录的有效方法吗?

我得到的印象是我只测试当前用户帐户名是否存在于活动目录中而实际上并不知道当前用户是否实际登录到活动目录。

然后,我不确定'登录到活动目录'是什么意思......我对活动目录很新!

1 个答案:

答案 0 :(得分:1)

也许这会帮助你:

检索到WindowsIdentity后,您可以读取其User属性以获取唯一标识用户的SecurityIdentifier(SID)。

如果要确定此帐户是否存在于Active Directory存储中,您可以不是按用户名搜索目录,而是使用SecurityIdentifier。通过这种方式,您不必担心用户名混淆。

如果您想要确定用户登录的域名;您可以读取用户的SecurityIdentifier的AccountDomainSid属性。这将为您提供唯一标识域的SecurityIdentifier。