【问题标题】:ASP.NET / VB.NET Check If a (different) User IsInRoleASP.NET / VB.NET 检查(不同的)用户 IsInRole
【发布时间】:2011-09-30 01:39:01
【问题描述】:

我在我们公司的 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】:

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

    Roles.IsUserInRole(username, rolename);
    

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

    【讨论】:

      猜你喜欢
      • 2014-05-27
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多