我有一个项目已经使用 ASP.NET Web 表单很长时间了,安全方案让我们拒绝根 web.config 中的所有用户,并允许基于 web.config 的站点特定区域中的用户某些文件夹像这样:
<!-- Root Web.config -->
<authorization>
<deny users="*" />
</authorization>
<!-- ~/Admin Web.config -->
<authorization>
<allow roles="AdminRole" />
<deny users="*"/>
</authorization>
我正在将 MVC4 添加到该项目中,我最初的理解是授权是通过如下属性控制的:
[Authorize(Roles="OtherSectionRole")]
public class OtherSectionController : Controller
{ ... }
这似乎不起作用,即使我使用Roles="*"
. 只有当我删除根 web.config 时,我deny *
才能点击控制器操作。我错过了什么吗?我宁愿不删除根级别的包罗万象的授权以使 MVC 工作正常。提前致谢!