ASP.NET / VB.NET检查是否有(不同的)用户IsInRole

问题描述 投票:0回答:1

我在公司的Intranet上有一个ASP.NET应用程序。还有一个时髦的安全要求。

我需要检查一下给定的用户名是否属于某个角色。我不能用

Page.User.IsInRole("MyDomain\MyGroup")

因为

Page.User.Identity.Name

返回一个空字符串。由于该程序有一些可爱的规范,我必须在IIS中启用匿名访问。似乎排除了任何page.user.identity的东西。

所以我确实找到了一种方法(至少)获取当前用户(来自System.Environment.UserName),但我需要将其反弹到域组以查看它们是否在其中。或者,更好的是,获取给定域中的用户列表,以便我自己检查。就像是...

Dim UserName as String

UserName = System.Environment.UserName

If User(UserName).IsInRole("MyDomain\MyGroup") Then
    MyFunction = "Success"
End If

-要么 -

Dim GroupUsers as String()

GroupUsers = GetDomainUserNames("MyDomain\MyGroup")

有人有什么想法吗?

asp.net vb.net security iis active-directory-group
1个回答
4
投票

您可以从Roles静态类调用IsUserInRole。这是一个示例和一些参考资料。

Roles.IsUserInRole(username, rolename);

链接:http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.isuserinrole.aspx

© www.soinside.com 2019 - 2024. All rights reserved.