1

我有一个项目已经使用 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 工作正常。提前致谢!

4

1 回答 1

0

不久前我们不得不做一些类似的事情,但我们最终把它搞砸了。我的意思是,我们将遗留的 asp.net 站点作为 mvc 应用程序的子应用程序,而不是相反。在 mvc 应用程序中,我们将登录页面的配置(我们使用这些站点的成员资格)设置为旧站点中的页面,然后我们保留旧站点的 web.config 原样。

于 2012-09-22T23:22:05.837 回答