【发布时间】:2010-12-22 03:15:08
【问题描述】:
我有一个包含多个要限制访问的 .aspx 页面的文件夹。我已使用<deny users="?"/> 将 web.config 添加到该文件夹中。
问题是当我使用 UrlRewrite 时,ReturnUrl 是使用 .aspx 文件的物理路径自动生成的。
有没有办法在不进行手动身份验证检查和重定向的情况下操作 ReturnUrl?有没有办法从代码隐藏或 web.config 设置 ReturnUrl?
编辑:应用程序正在使用 ASP.NET 2.0 WebForms。我不能使用 3.5 路由。
编辑 2:似乎永远不会捕获 401 状态代码。它为受保护的页面返回 302,并使用 ReturnUrl 重定向到登录页面。它不会为受保护的页面返回 401。嗯……有趣……参考:http://msdn.microsoft.com/en-us/library/aa480476.aspx
这让事情变得更难...我可能必须编写反向重写映射规则以正则表达式匹配 ReturnUrl 并在它不返回 401 时替换它...如果它确实返回 401 我可以将 RawUrl 设置为 Response.RedirectLocation或将 ReturnUrl 替换为 RawUrl。
还有人有其他想法吗?
【问题讨论】:
-
还有其他人有其他建议吗?
标签: asp.net url-rewriting webforms forms-authentication returnurl