在〜/ tools /我有一个包含以下内容的webconfig文件:
<system.web>
<authorization>
<allow roles="admin" />
<deny users="*" />
</authorization>
</system.web>
对〜/ tools / mypage.aspx的请求要求用户担任管理员角色。如果我使用URL路由并且请求〜/ categories / mytools路由到上面的页面,则表单身份验证不要求用户处于admin角色。如何在虚拟路由URL上使用表单身份验证?
所以我需要将它添加到我的webconfig:
每个需要表单身份验证的虚拟URL?如果必须使用定向到“受保护”目标网页的每个网址,这似乎是重复的。还有其他解决方案吗?
答案 0 :(得分:1)
由于~/categories/mytools
未明确~/tools
,因此不会调用web.config授权。即使有虚拟路由。您需要跨目录复制web.config文件以实现此影响。为了避免双重职责,您可能希望将这些条目放入根web.config中,列出其特定目录或文件以获得确切权限。