如何在虚拟路由URL(asp.net路由和表单身份验证)上使用表单身份验证?

时间:2010-11-23 05:03:41

标签: asp.net forms-authentication url-routing

在〜/ tools /我有一个包含以下内容的webconfig文件:

 <system.web>
    <authorization>
      <allow roles="admin" />
      <deny users="*" />
    </authorization>
  </system.web>

对〜/ tools / mypage.aspx的请求要求用户担任管理员角色。如果我使用URL路由并且请求〜/ categories / mytools路由到上面的页面,则表单身份验证不要求用户处于admin角色。如何在虚拟路由URL上使用表单身份验证?


所以我需要将它添加到我的webconfig:                                               

每个需要表单身份验证的虚拟URL?如果必须使用定向到“受保护”目标网页的每个网址,这似乎是重复的。还有其他解决方案吗?

1 个答案:

答案 0 :(得分:1)

由于~/categories/mytools未明确~/tools,因此不会调用web.config授权。即使有虚拟路由。您需要跨目录复制web.config文件以实现此影响。为了避免双重职责,您可能希望将这些条目放入根web.config中,列出其特定目录或文件以获得确切权限。