SharePoint 身份验证 token/cookie 在关闭浏览器时仍然存在,但仅在 Chrome 中
SharePoint authentication token/cookie persists when closing browser, but only in Chrome
默认情况下,SharePoint 2013 不使用会话 cookie,而是使用持久性 cookie。根据多篇文章,包括这篇 one,您可以通过以下 PowerShell 命令强制 SharePoint 使用会话 cookie。我在我的 SharePoint 环境中 运行 这个命令。
$sts = Get-SPSecurityTokenServiceConfig
$sts.UseSessionCookies = $true
$sts.Update()
我的目标是让用户在关闭并重新打开浏览器时重新进行身份验证。对于 Forms Authenticated 用户和 Windows Authenticated 用户,这在 Firefox 和 IE 中效果很好。但是,在 Google Chrome 中,当我 close/re-open 浏览器导航到我的 SharePoint 站点时,它会记住我在关闭浏览器之前已通过身份验证的用户;令人费解的是,考虑到这应该是一个会话 cookie。对于经过 Forms 身份验证的用户和 Windows 身份验证的用户,都会发生这种情况。
FedAuth 会话 cookie,由 SharePoint 提供,如 Chrome 中所示
知道为什么 Google Chrome(但不是 IE 或 FF)是 "remembering" 我在浏览器 close/open 上的凭据吗?
SharePoint 版本: 2013,内部部署。
Chrome版本:42.0.2311.152
其他说明:
- WindowsTokenLifetime 设置为其默认值,10 小时
- FormsTokenLifetime 设置为 2 分钟
- LogonTokenCacheExpirationWindow 设置为 1 分钟
更新:
我尝试通过 Taskmgr 关闭所有可识别的 Chrome.exe 进程,但下次我打开浏览器时,它仍然记得我。然而,我重新启动了我的电脑,打开了浏览器,那时候它不记得我了。我认为这不是 SharePoint 问题,而是 Chrome 问题。我的猜测是某些 Chrome 进程在某处保持活动状态,即使它看起来已关闭,从而允许 "Session" 保持打开状态。仍在调查中...
显然,当您让 Chrome 运行 在后台运行时,会话 cookie 不会过期(即使您关闭了浏览器)。禁用后台模式会导致 Chrome 忘记您的会话 cookie,这是应该的。
注意:我很好奇这是否是 Chrome 中的错误。这种行为似乎违背了 Session cookie 是什么。
a cookie that is erased when the user closes the Web browser. The session cookie is stored in temporary memory and is not retained after the browser is closed
更新:
根据Google,这是expected behavior (though I'd consider that notion debatable). Also, another SO user also came across the same issue。
默认情况下,SharePoint 2013 不使用会话 cookie,而是使用持久性 cookie。根据多篇文章,包括这篇 one,您可以通过以下 PowerShell 命令强制 SharePoint 使用会话 cookie。我在我的 SharePoint 环境中 运行 这个命令。
$sts = Get-SPSecurityTokenServiceConfig
$sts.UseSessionCookies = $true
$sts.Update()
我的目标是让用户在关闭并重新打开浏览器时重新进行身份验证。对于 Forms Authenticated 用户和 Windows Authenticated 用户,这在 Firefox 和 IE 中效果很好。但是,在 Google Chrome 中,当我 close/re-open 浏览器导航到我的 SharePoint 站点时,它会记住我在关闭浏览器之前已通过身份验证的用户;令人费解的是,考虑到这应该是一个会话 cookie。对于经过 Forms 身份验证的用户和 Windows 身份验证的用户,都会发生这种情况。
FedAuth 会话 cookie,由 SharePoint 提供,如 Chrome 中所示
知道为什么 Google Chrome(但不是 IE 或 FF)是 "remembering" 我在浏览器 close/open 上的凭据吗?
SharePoint 版本: 2013,内部部署。 Chrome版本:42.0.2311.152
其他说明:
- WindowsTokenLifetime 设置为其默认值,10 小时
- FormsTokenLifetime 设置为 2 分钟
- LogonTokenCacheExpirationWindow 设置为 1 分钟
更新: 我尝试通过 Taskmgr 关闭所有可识别的 Chrome.exe 进程,但下次我打开浏览器时,它仍然记得我。然而,我重新启动了我的电脑,打开了浏览器,那时候它不记得我了。我认为这不是 SharePoint 问题,而是 Chrome 问题。我的猜测是某些 Chrome 进程在某处保持活动状态,即使它看起来已关闭,从而允许 "Session" 保持打开状态。仍在调查中...
显然,当您让 Chrome 运行 在后台运行时,会话 cookie 不会过期(即使您关闭了浏览器)。禁用后台模式会导致 Chrome 忘记您的会话 cookie,这是应该的。
注意:我很好奇这是否是 Chrome 中的错误。这种行为似乎违背了 Session cookie 是什么。
a cookie that is erased when the user closes the Web browser. The session cookie is stored in temporary memory and is not retained after the browser is closed
更新: 根据Google,这是expected behavior (though I'd consider that notion debatable). Also, another SO user also came across the same issue。