[英]ASP.NET MVC 5: App Pool, Windows Authentication and Active Directory
[英]integrating active directory group with windows authentication aspnet mvc 3
我在mvc 3应用程序中使用Windows身份验证,我只希望我的某些活动目录组访问此应用程序。 我没有在我的控制器中使用[Authorize]属性,只是我的web.config配置。
这是我设置web.config的方式:
<system.web>
<authentication mode="Windows" />
<authorization>
<allow roles="EUsers" />
<deny users="*" />
</authorization>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<security>
<authorization>
<add accessType="Allow" roles="EUsers" />
<add accessType="Deny" users="*" />
</authorization>
</security>
</system.webServer>
我还在IIS授权部分启用了Windows身份验证和ASP.NET Impersation。 我正在尝试与我的用户访问该应用程序(我是EUsers的成员),但它总是提示我的用户和密码。 我忘记了什么吗? 难道我做错了什么?
我没有在我的控制器中使用[Authorize]属性,只是我的web.config配置。
那简直是错的。 在ASp.NET MVC应用程序中,您不应使用web.config来控制授权。 您应该使用[Authorize]
属性。 所以:
[Authorize(Roles = "EUsers")]
我在评论部分看到它仍然无法正常工作。 我相信这可能是因为“拒绝”被明确分配给users =“*”和权限优先规则
以下是解决权限冲突的一些规则:
“拒绝”权限通常优先于“允许”权限。 直接应用于对象的权限(显式权限)优先于从父级继承的权限(例如,从组中)。 从近亲属继承的权限优先于从远程前辈继承的权限。 因此,从对象的父文件夹继承的权限优先于从对象的“祖父”文件夹继承的权限,依此类推。 来自同一级别的不同用户组(直接设置或继承,以及“拒绝”或“允许”)的权限是累积的。 因此,如果用户是两个组的成员,其中一个组具有“允许”权限“读取”而另一个组具有“允许”“写入”,则用户将具有读写权限 - 取决于当然,上面的其他规则。 虽然拒绝权限通常优先于允许权限,但情况并非总是如此。 显式“允许”权限可以优先于继承的“拒绝”权限。
权限的优先级层次结构可以总结如下,列表顶部列出了较高的优先权:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.