4

這種情況是非常相似的Wiktor的Zychla質疑,請參閱How to set the timeout properly when federating with the ADFS 2.0不強制用戶在ADFS 2.0重新進行身份驗證的SharePoint 2010會議結束後到期

我們正在經歷相同的行爲,ADFS高興地將用戶重定向回SharePoint網站和FedAuth cookie被重新創建,即使ADFS應該提示輸入憑據 - 我們希望用戶在一段空閒時間後重新進行身份驗證。基本上看起來會話總是在滑動。

我們禁用了持久性cookie,因此當會話通過關閉瀏覽器結束時,FedAuth cookie被刪除,所以在所有瀏覽器窗口關閉並且新會話啓動後,用戶被迫重新進行身份驗證,以便使用。

據我所知,ADFS管理單元中的Web SSO生存期設置控制用戶需要在AD FS上重新進行身份驗證的時間(再次輸入他的憑據)。 Tokenlifetime和LogonTokenCacheExpirationWindow一起控制,當Sharepoint應該重定向回AD FS以更新FedAuth cookie。

以下是http://msdn.microsoft.com/en-us/library/hh446526.aspx報價:

要強制用戶重新輸入其憑據時,他們將被重定向回ADFS,你應該設置在ADFS網站SSO壽命小於或等於SAMLtokenlifetime減去LogonTokenCacheExpirationWindow的值。

所以,我們做了以下內容:

1.設置SAML的壽命令牌

Add-PSSnapin Microsoft.ADFS.PowerShell 

Set-AdfsRelyingPartyTrust –TargetName "[ourrelayingpartytrustreference]" –TokenLifeTime 7 

2.設置LogonTokenCacheExpirationWindow(和禁用持久Cookie)

Add-PSSnapin Microsoft.SharePoint.Powershell -EA 0 

$sts = Get-SPSecurityTokenServiceConfig 
$sts.UseSessionCookies = $true 
$sts.LogonTokenCacheExpirationWindow = (New-Timespan -Minutes 1) 

$sts.Update() 

iisreset 

3。調整後的Web SSO壽命:在AD5分鐘FS 2.0管理控制檯管理單元(運行在PowerShell中的Get-ADFSProperties正確返回SsoLifetime:5)

因此,預期的結果是:

  1. 用戶啓動一個全新的會話,請求網站
  2. 瀏覽器被重定向到AD FS,用戶輸入憑據,並且瀏覽器被重定向回到Sharepoint站點,FedAuth cookie被生成
  3. 用戶保持空閒10分鐘(以確保會話滑動期限已經通過)
  4. 用戶請求在Sharepoint另一頁,瀏覽器被重定向到AD FS
  5. 由於的Web SSO壽命爲5分鐘,並且它是,如在MSDN文檔指示,小於SAMLtokenlifetime減去LogonTokenCacheExpirationWindow(SAMLtokenlifetime的值 - LogontokenCacheExpirationWindow = 6分鐘),AD FS提示用戶輸入憑證 ,用戶輸入憑證,瀏覽器重定向 到Sharepoint頁面請求並重新創建FedAuth cookie。

當前實際行爲(步驟1-4類似):

(5)AD FS不提示輸入憑證,瀏覽器被重定向到SharePoint頁和FedAuth cookie被重新創建。

因此 - 對我們而言,無論我們做什麼,AD FS會話都將永不過期。 如果我們創建一個LogonTokenCacheExpirationWindow值設置高於SAMLtokenlifetime的錯誤配置(例如LogonTokecacheExpirationWindow = 8和SAMLtokenlifetime = 7),我們將獲得Sharepoint和AD FS之間的預期循環行爲。

如果用戶閒置了一段時間,我們正在拼命尋找解決方案來正確過期會話。

我們也嘗試下面的配置變化(按照指導在http://social.msdn.microsoft.com/Forums/en-US/Geneva/thread/802b1bb6-cda3-4470-a0d1-ee709d5c4b7c/):

Set-ADFSProperties -SsoLifetime 1 

Set-ADFSProperties -ReplayCacheExpirationInterval 1 

Set-ADFSProperties -SamlMessageDeliveryWindow 1 

沒有變化的Global.asax尚未作出。

據我所知,我們根據文檔配置了所有內容,但是我們無法強制用戶重新進行驗證。任何幫助指出錯誤的配置表示讚賞。

回答

1

如果您已經這樣做了,但請確保您在更改websso後重新啓動了AD FS。在我們重新啓動服務之前,我們沒有獲得預期的結果。此外,如果您有代理,也可能要重新啓動。

您是否有任何改寫cookies的基礎設施?

相關問題