表单身份验证重定向导致锚点丢失

发布于 2024-07-30 10:08:16 字数 1234 浏览 1 评论 0原文

所以问题就在这里。

我使用锚作为一种非刷新方式来允许为当前视图对象添加书签。

http://myserver/showobject.aspx#objectid=10

我在更新时使用这个object id 它不会尝试在页面上进行刷新。

这就是问题所在。

我正在使用表单身份验证来处理对这些页面的访问。 因此,当您尝试在未先登录的情况下浏览上述链接时,它会将您重定向到登录页面。 一旦您成功通过身份验证,FormsAuthentication.RedirectFromLoginPage(...) 您将转到您来自的页面。

除了它把 #objectid=10 位关闭之外。

我想出了一些技巧(在重定向到登录页面之前设置一个 cookie,然后读取 cookie 并在“RedirectFromLoginPage”完成后更新链接)来解决这个问题,但想知道是否有任何真正的方法使 FormsAuthentication.RedirectFromLoginPage 做我真正想要它做的事情。

回顾一下:

感谢您提前提供的帮助,

约翰。

So here is the problem.

I use Anchors as a non-refreshing way to allow bookmarking of currently view objects.

http://myserver/showobject.aspx#objectid=10

I use this so when updating the object id it doesn't try to do a refresh on the page.

Heres the rub.

I am using forms Authentication to handle access to these pages. So When you try to browse to the above link without having logged in first, it redirects you to the login page. Once you have been successfully authenticated it FormsAuthentication.RedirectFromLoginPage(...) you to the page you came from.

Except that it trunks the #objectid=10 bit off.

I have thought up a few hacks (set a cookie before the redirect to the login page and then read the cookie and update the link after the "RedirectFromLoginPage" is done) for getting around this, but was wondering if there was any real way to make FormsAuthentication.RedirectFromLoginPage do what i actually want it to do.

So recap:

Thanks for the assist in advance,

John.

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

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

发布评论

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

评论(3

浮华 2024-08-06 10:08:16

临时cookie就是这里的方法。 当告诉服务器它们是从哪个 URL 引用时,网络浏览器不会在“#”之后发送任何内容 - 因此服务器无法捕获该信息并知道在用户登录后使用它

temporary cookie is the way to go here. web browsers don't send anything after the "#" when telling the server which URL they are being referred from - so the server can't capture that info and know to use it after the user signs in

浮萍、无处依 2024-08-06 10:08:16

URL 的这一部分称为片段,服务器端看不到。 有一些使用插页式页面和一些 JavaScript 的黑客方法,但它可能会变得混乱。

That part of the URL is called a fragment and doesn't get seen by the server side. There are hacky ways around it using an interstitial page and a bit of javascript, but it can get messy.

静待花开 2024-08-06 10:08:16

问题可能是查询字符串中的井号而不是问号吗?

时从未遇到任何问题

我使用表单身份验证,并且在使用page.aspx?value=x

Could the problem be the pound sign instead of the question mark in your querystring?

I use forms authentication and never have any problems when using

page.aspx?value=x

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