2010-11-23 137 views
2

在〜/工具/我有一个包含以下内容的webconfig文件:如何在虚拟路由URL(asp.net路由和表单身份验证)上使用表单身份验证?

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

请求到〜/工具/ mypage.aspx要求用户在管理员的角色。如果我使用URL路由并请求〜/ categories/mytools路由到上述页面,则表单身份验证不需要用户担任管理员角色。如何在虚拟路由网址上使用表单身份验证?


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

对于需要表单认证的每个虚拟网址是什么?似乎重复,如果这必须与每个指向“受保护的”目标页面的网址完成。还有其他解决方案吗?

回答

1

由于~/categories/mytools未明确~/tools未调用web.config授权。即使使用虚拟路由。您需要在目录中复制web.config文件以实现这种效果。为避免执行双重任务,您可能希望将这些条目放入根web.config中,以列出其特定目录或文件以获取确切的权限。