我知道使用 Dim currUser As String = Request.ServerVariables("LOGON_USER") 返回域\用户名,但我想知道该用户在 Active Directory 中所在的组。
问问题
4604 次
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 回答