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身份中的授权属性中使用动态角色