【问题标题】:MVC 3 ASP.NET Roles-Authorize AttributeMVC 3 ASP.NET 角色-授权属性
【发布时间】:2011-09-03 12:10:53
【问题描述】:

我从 Active Directory 获取用户角色,并将相同的角色绑定到 ASP.NET 成员角色。

我想通过使用控制控制器中各种视图的显示

[Authorize(roles="Admin")]

但无论我指定哪个角色,视图都不会显示。如果我取出 [Authorize(roles="Admin")] 就可以了。

授权是否使用 ASP.NET 成员角色?如果是这样,为什么我会收到此错误?

我错过了什么吗?有什么想法吗?

谢谢

【问题讨论】:

    标签: asp.net-mvc-3 active-directory authorization user-roles


    【解决方案1】:

    IIRC 如果您使用 AD 角色,它适用于组并且您需要指定域:

    [Authorize(Roles = @"MYDOMAIN\SomeDomainGroup")] 
    

    现在,如果访问该站点的用户属于给定的 AD 组,他将被授予访问权限。

    【讨论】:

    • @Hari Gillala,我的意思是 Role 属性与 AD 组一起使用。因此,您应该指定要授予访问权限的 AD 组。
    • 我尝试了 [Authorize(Roles = @"Domainname\groupname")],没有显示任何内容。如果我取出属性 [Authorize] 那么它可以工作,但我没有必要这样做。我不知道为什么它会以这种格式表现。
    • 所以你必须限制你的应用程序只能在指定的域上工作,或者你必须编写自己的 Authorize 属性来检查组的名称。
    【解决方案2】:

    假设您正在使用 VS 内置服务器并且您得到一个空白页面 - 内置开发服务器将显示一个空白页面而不是提示输入凭据。

    埋在this page的注释中

    Note:
    If you are using the Visual Studio Development server, you are not prompted for credentials and you see only a blank page.
    

    【讨论】:

      猜你喜欢
      • 2010-10-21
      • 1970-01-01
      • 2021-09-04
      • 1970-01-01
      • 2010-11-25
      • 2011-05-17
      • 1970-01-01
      • 2014-05-08
      • 1970-01-01
      相关资源
      最近更新 更多