asp.net - 查找用户是否是 Active Directory 组 ASP.NET VB 的成员?

标签 asp.net vb.net active-directory

我正在使用 Active Directory 对 Intranet 站点的用户进行身份验证。我想根据他们在 Active Directory 中所在的组来优化经过身份验证的用户。有人可以向我展示或指出有关如何在 ASP.NET 4.0 (VB) 中查找用户所在组的说明吗?

最佳答案

我意识到这篇文章已经很旧了,但我想我可能会用我正在使用的进程更新它。 (ASP.Net 4.0, VB)

如果使用集成的 Windows 安全性,则在域上。
Page.User.IsInRole("domain\GroupName")将检查通过身份验证的用户是否是指定组的成员。

如果您想检查经过身份验证的用户以外的其他用户组成员身份。

检查具有相同用户主体的多个组的两个阶段:

Dim MyPrincipal As New System.Security.Principal.WindowsPrincipal _
     (New System.Security.Principal.WindowsIdentity("UserID"))
Dim blnValid1 As Boolean = MyPrincipal.IsInRole("domain\GroupName")

单阶段 checkin 单个组:
Dim blnValid2 As Boolean = New System.Security.Principal.WindowsPrincipal _
     (New System.Security.Principal.WindowsIdentity("userID")).IsInRole("domain\GroupName")

注意:: IsInRole 方法确实适用于嵌套组。如果您有一个顶级组和一个作为成员的子组,并且用户是该子组的成员。

关于asp.net - 查找用户是否是 Active Directory 组 ASP.NET VB 的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3190937/

相关文章:

c# - RightFax 和 .NET?

c# - EntityFramework.dll 中出现 'System.InvalidOperationException' 类型的异常,但未在用户代码中处理

.net - 如何让 Visual Studio 2015 添加带有命名空间声明的新 VB.NET 类?

asp.net-mvc - 如何在区域中使用公共(public) _ViewStart?

c# - MSMQ 和 Active Directory 集成

java - 如何使用java在ldap中创建并启用用户?

asp.net - 在 ASP.Net Web 应用程序中使用来自 Rails 应用程序的用户/身份验证信息

asp.net - .NET 中的 SyndicateItem.Content

vb.net - 除非单击,否则不会加载选项卡控件的内容

asp.net - 在 Windows 2008 服务器中连接 AD 时发生本地错误