将请求的 URL 存储在 Global.asax 中,而不在 ASP.NET 中存储会话状态

发布于 2024-08-29 20:56:55 字数 293 浏览 10 评论 0原文

我有一个复杂的 URL 重写方案,它破坏了内置的 Forms Authentication ReturnUrl 机制。我想获取请求的 URL,以便稍后从我的 login.aspx 重定向。我可以通过 HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath 在 Application_BeginRequest 中获取此 URL。但是,Session 状态在 Application_BeginRequest 中不可用。在 ASP.NET 将我重定向到 login.aspx 之前,如何存储此 URL?

I have a complex URL rewriting scheme which breaks the built in Forms Authentication ReturnUrl mechanism. I would like to grab the requested URL for later redirection away from my login.aspx. I can get this URL in Application_BeginRequest via HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath. However, Session state is not available in Application_BeginRequest. How can I store this URL prior to ASP.NET redirecting me to login.aspx?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

淡淡離愁欲言轉身 2024-09-05 20:56:55

客户端 cookie 是一种选择吗?如果没有可用的会话状态,我不相信您有任何服务器端选择。

Are client cookies an option? Without an available session state, I don't believe you have any server-side choices.

情绪少女 2024-09-05 20:56:55

您可以使用静态。但是,您需要一些信息来为每个用户提供密钥(例如用户名、会话标识符等)。如果您必须在用户登录之前执行此操作,那么您唯一的选择是将某种标识符填充到 cookie 中,此时您可能只想将整个 URL 放在那里。

You could use a static. However, you'll need something to key it to each user (e.g. user name, session identifier etc.). If you have to do it before the user is logged on, your only option is to stuff some sort of identifier into a cookie at which point you might just want to put the whole URL there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文