我有一个 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 页面以提供凭据。
不知道如何处理。有什么想法吗?