SharePoint 2013默认情况下不使用会话Cookie,而是使用持久性Cookie。根据多篇文章(包括此one),您可以通过以下PowerShell命令强制SharePoint使用会话Cookie。我在SharePoint环境中运行此命令。
$sts = Get-SPSecurityTokenServiceConfig
$sts.UseSessionCookies = $true
$sts.Update()
我的目标是让用户在关闭并重新打开浏览器时重新进行身份验证。对于Forms Authenticated用户和Windows Authenticated用户,这在Firefox和IE中都很有用。但是,在谷歌浏览器中,当我关闭/重新打开浏览器并导航到我的SharePoint网站时,它会记住用户在我关闭浏览器之前已经过身份验证;这是令人困惑的,考虑到这应该是一个会话cookie。对于经过身份验证的用户和Windows身份验证用户,都会发生这种情况。
由SharePoint提供的FedAuth会话cookie,如Chrome中所示
谷歌Chrome(但不是IE或FF)的任何想法是"记住"浏览器关闭/打开时的凭据?
SharePoint版本: 2013,内部部署。 Chrome版本: 42.0.2311.152
其他说明:
更新 我尝试通过Taskmgr关闭所有可识别的Chrome.exe进程,但下次打开浏览器时,它仍然记得我。但是,我重新启动了计算机,打开了浏览器,那段时间我没有记住我。我不认为这是一个SharePoint问题,而是一个Chrome问题。我的猜测是,某些Chrome进程在某个地方保持活跃,即使它似乎已关闭,因此允许" Session"保持开放。还在调查......
答案 0 :(得分:0)
显然,当您让Chrome在后台运行时,会话Cookie不会过期(即使您已关闭浏览器)。禁用后台模式会导致Chrome忘记您的会话Cookie。
注意:如果这是Chrome中的错误,我很好奇。这种行为似乎违反了Session cookie。
用户关闭Web浏览器时删除的Cookie。会话cookie存储在临时内存中,在浏览器关闭后不会保留
<强>更新强> 根据谷歌的说法,这是expected behavior(虽然我认为这个概念值得商榷)。另外,另一个SO用户也遇到了same issue。