0

我知道使用 Dim currUser As String = Request.ServerVariables("LOGON_USER") 返回域\用户名,但我想知道该用户在 Active Directory 中所在的组。

4

2 回答 2

3

您想要组列表吗?还是要检查用户是否是特定组的成员?

如果是后者,您可以使用 WindowsPrincipal.IsInRole() 检查用户是否属于特定组:

http://msdn.microsoft.com/en-us/library/fs485fwh.aspx

例如,如果您想检查用户是否是管理员,您可以使用:

If Page.User.IsInRole("BUILTIN\Administrators") Then
    ' Do something
End If
于 2009-09-10T08:36:38.943 回答
2

您可以使用UserPrincipal.GetAuthorizationGroups 方法

imports System.DirectoryServices.AccountManagement
dim name as string = Request.ServerVariables("LOGON_USER") 
dim user As UserPrincipal = UserPrincipal.FindByIdentity( new PrincipalContext( ContextType.Domain ), name)
dim groups As PrincipalSearchResult(Of Principal)= user.GetAuthorizationGroups()
于 2009-09-10T08:38:25.830 回答