【发布时间】:2011-03-29 23:07:07
【问题描述】:
我正在使用 ASP.NET MVC 3 并且正在尝试做一些应该非常直接的事情......
我的应用程序使用表单身份验证,这对于控制器/操作非常有效。例如,如果我使用以下属性装饰控制器或操作,则只有管理员组的成员可以查看它们:
[Authorize(Roles="Administrators")]
但是,我在默认 Scripts 文件夹下有一个名为 Admin 的文件夹。我只希望管理员组的成员能够访问此目录中的脚本,因此我在目录中创建了一个新的 web.config,其中包含以下内容:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="Administrators"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>
但是,无论用户是否是管理员组的成员,他们都会收到 302 Found 消息,然后被重定向到登录页面。
如果我将 web.config 更改为 allow user="*",那么它可以工作。如果我为我正在测试的特定用户添加allow users="Username",它也可以工作。
关于我哪里出错或我可以从哪里开始调查的任何想法?
【问题讨论】:
标签: asp.net asp.net-mvc-3 asp.net-membership