【发布时间】:2013-11-12 22:23:41
【问题描述】:
我有一个 ASP.NET 网站(不是 MVC),该网站在 /users 文件夹中有网页,除非用户登录,否则无法访问。在 /users 文件夹中,我有一个 web.config 文件带有以下内容:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
在网站根目录下,web.config 文件有:
<authentication mode="Forms">
<forms loginUrl="~/account/login.aspx" timeout="2880" />
</authentication>
当用户请求 /users 目录中的页面时,例如 /users/myccount.aspx,一切正常。如果他们没有登录,他们会被定向到 login.aspx 页面,然后如果成功登录则返回到最初请求的页面。按预期工作。
但是,现在我们添加了 ASP.NET 路由,它的行为方式不再相同。现在,如果用户请求http://mydomain.com/myaccount,然后将其转换为 /users/myaccount.aspx 页面作为该路由的 HTTPHandler,则用户不会被定向到 login.aspx 页面以提供凭据。
不知道如何处理。大家有什么想法吗?
【问题讨论】:
标签: asp.net forms-authentication url-routing