gpt4 book ai didi

session - 使用 ADFS 的单页应用程序 - 超时问题

转载 作者:行者123 更新时间:2023-12-02 02:14:56 25 4
gpt4 key购买 nike

我正在使用 ASP.Net MVC3 和 ADFS(使用被动联合)创建单页应用程序 (SPA)。除了我称之为“从 ADFS 重新验证”之外,一切都按预期工作。定期(少于 30 分钟),网站将尝试使用 STS 重新验证用户。这很好,但是 Web 应用程序是作为单页应用程序构建的,因此我们永远不会在页面加载后重新加载它。此外,重新身份验证请求通常发生在 ajax 调用期间。

ADFS 具有 WebSSOLifetime 和 TokenLifetime 的默认设置。

有没有办法:a) 在后台从 javascript 中静默地重新验证用户(可能创造性地使用 CORS 和/或 JSONP)?或者 b) 延长重新认证请求之间的时间?或 c) 其他东西。

关于 b) 似乎我可以设置 persistentCookiesOnPassiveRedirects="true",然后在 cookieHandler 中将 persistentSessionLifetime 设置为所需的值。

<wsFederation persistentCookiesOnPassiveRedirects="true" passiveRedirectEnabled="true" issuer="xxx" realm="yyy" requireHttps="true" />
<cookieHandler requireSsl="true" persistentSessionLifetime="0.8:0:0" path="/" />

但是,我宁愿不使用持久性 cookie。

最后,我尝试了此处描述的新鲜度设置:How to set the timeout properly when federating with the ADFS 2.0没有成功。

如有任何帮助,我们将不胜感激。

最佳答案

关于b),你要的设置是Token Lifetime。您可以使用 Set-AdfsRelyingPartyTrust 更新此值PowerShell 脚本:

Set-AdfsRelyingPartyTrust -TargetName "My App" -TokenLifetime 120

token 生命周期的值以分钟为单位。 AD FS 2.0 的默认值 (0) 是 60 分钟。

至于 a),我知道的唯一方法是捕获由 ajax 调用抛出的异常并刷新您的单个页面。

关于session - 使用 ADFS 的单页应用程序 - 超时问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11089093/

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