ASP.NET路由和表单身份验证
我有一个ASP.NET网站(不是MVC),在文件夹/users中有网页,除非用户登录,否则无法访问。在/users文件夹中,我有一个web.config文件,其中包含以下内容:ASP.NET路由和表单身份验证,asp.net,forms-authentication,url-routing,Asp.net,Forms Authentication,Url Routing,我有一个ASP.NET网站(不是MVC),在文件夹/users中有网页,除非用户登录,否则无法访问。在/users文件夹中,我有一个web.config文件,其中包含以下内容: <?xml version="1.0"?> <configuration> <system.web> <authorization> <deny users="?"/> </authorization> </
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
,然后将其转换为/users/myaccount.aspx页面作为该路由的HTTPHandler,用户不会被定向到login.aspx页面以提供凭据
不知道该怎么处理。各位有什么想法吗?好的,找到了我自己问题的答案
我创建了一个实现IRoutHandler接口的自定义类。除了我没有显式地调用UrlAuthorizationModule来确定当前用户是否被授权查看请求路由的特定HTTPHandler(页面)之外,这一切都非常有效
因此,解决方案是不实现IRouteHandler接口,而是继承PageRouteHandler类并重写所需的方法,以便在调用PageRouteHandler.GetHTTPHandler方法之前添加必要的自定义代码
世界上一切又好了!:)
<authentication mode="Forms">
<forms loginUrl="~/account/login.aspx" timeout="2880" />
</authentication>