加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在ASP.NET中查找重定向的原因?

发布时间:2020-12-16 06:55:53 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试在我的web.config中添加一个异常,以便一个页面不需要身份验证.但是,它仍然会重定向到登录页面. 问题不是如何设置web.config.为什么?我们的系统(无论好坏)除了web.config之外还有一堆检测.我们有global.asax和自定义HttpHandlers.代码库并不大,但
我正在尝试在我的web.config中添加一个异常,以便一个页面不需要身份验证.但是,它仍然会重定向到登录页面.

问题不是如何设置web.config.为什么?我们的系统(无论好坏)除了web.config之外还有一堆检测.我们有global.asax和自定义HttpHandlers.代码库并不大,但重定向有很多潜在的原因.

我想知道的是如何最好地确定重定向的原因.有没有办法找出哪些代码触发了重定向?

解决方法

如果您可以调试应用程序,从global.asax和 stepping through System.Web’s reference source中的 HttpApplication.BeginRequest开始将是蛮力的方式.

或者,在HttpResponse.Redirect(string,bool)上设置一个断点并跟随调用堆栈 – 我怀疑运行时使用任何其他方式来重定向请求.

如果这不会导致任何问题(或者你无法调试),并且由于强力方法可能会导致大量代码 – 而且看起来你的问题与安全相关 – 你可能只是挂钩HttpApplication. AuthenticateRequest和HttpApplication. AuthorizeRequest,(和它关联的Post *事件)并看到那里的东西.

如果您正在使用表单身份验证,我碰巧知道FormsAuthenticationModule在HttpApplication.EndRequest中查找状态代码401以决定是否重定向请求.设置401(访问被拒绝)的任何内容都将导致重定向 – 而不是401被返回到浏览器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读