gpt4 book ai didi

asp.net - 阻止 AJAX 计时器控制请求扩展 FormsAuthentication 票证?

转载 作者:行者123 更新时间:2023-12-02 18:42:53 27 4
gpt4 key购买 nike

我有一个 Web 表单应用程序,它使用一些 ASP.NET AJAX 计时器控件(即轮询)。如果用户位于具有其中之一的页面上,他们实际上永远不会超时,因为轮询过程使他们的身份验证票证保持事件状态。

我想对 Timer 控件进行分段,以便它们不会触发 Forms Authentication 的 RenewTicketIfOld 方法。我所采用的路径和我之前做过的类似操作是将某些内容注入(inject)到 AJAX HTTP 请求中,以将这些请求识别为来自计时器,然后在隐藏身份验证 cookie 的表单例份验证模块之后运行一些代码以免在响应中发回。

关于如何防止 Timer 控件保持表单例份验证票证事件的任何其他建议?

最佳答案

我的第一个技巧。

在网络配置中,设置域名,例如 www.yoursite.com

<forms domain="www.yoursite.com" .... >

并创建一个子域,例如timers.yoursite.com,它实际上与www.yoursite.com相同。 现在在 times.yoursite.com 上调用电话,并且由于 Cookie 必须找到 www.yoursite.com,因此它们永远不会触发身份验证。

第二个肮脏伎俩

在网络配置中设置 requireSSL=true

<forms requireSSL="true" 

并在非安全页面上进行计时器调用。这样,身份验证就不会再次触发,因为现在在非安全页面上不会读取 cookie。

最后的想法是,在无 cookie 页面和无 session 页面上运行时间,我的意思是根本不发送或获取 cookie 的页面。我不知道这在同一个域名页面下是否可行,我认为你需要一个不同的域名(out)

关于asp.net - 阻止 AJAX 计时器控制请求扩展 FormsAuthentication 票证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6589755/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com