0

我在我们公司的 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")

有人有什么想法吗?

4

1 回答 1

4

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

Roles.IsUserInRole(username, rolename);

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

于 2011-07-07T00:04:18.590 回答