MVC 3 ASP.NET 角色-授权属性

Posted

技术标签:

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

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

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

[Authorize(roles="Admin")]

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

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

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

谢谢

【问题讨论】:

【参考方案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.

【讨论】:

以上是关于MVC 3 ASP.NET 角色-授权属性的主要内容,如果未能解决你的问题,请参考以下文章

如何在asp.net mvc 5身份中的授权属性中使用动态角色

带有权限代码的 ASP.NET MVC 4 自定义授权属性(无角色)

带有参数的 ASP.NET MVC 授权属性

ASP.NET MVC 角色授权

ASP.Net MVC 5 - 使用角色授权错误

使用 Azure AD 的 Asp.net core mvc 基于角色的授权