安全性
當您設定 HTTP 伺服器執行 SSO 時,即會快取密碼變更。這表示使用者可以登入 SSO 環境,變更他們的網際網路密碼、登出,然後在變更抄寫到整個系統時,使用新的網際網路密碼再次登入。
快取位置及時間 已快取的使用者新網際網路密碼,只會儲存在要求變更密碼的 HTTP 伺服器上。SSO 環境中的其他伺服器都無法存取此快取資訊;因此,如果任何其他伺服器提示使用者輸入密碼,使用者可能必須提供舊的密碼而不是新的密碼。在沒有此快取資訊的伺服器上,使用者提供的密碼必須與那個伺服器在目錄中找到的密碼資訊相符。
請注意,對於 SSO 使用者而言,初始登入會提供整個 SSO 環境的存取權。因此,如果在已快取新密碼的伺服器,一直都能夠完成所有登入活動,那麼使用者將不會遇到問題。使用者可以嘗試存取目標伺服器上的 URL,然後由那個伺服器提示輸入密碼,而不是對沒有快取新密碼的伺服器提供密碼。
依預設,48 小時內 HTTP 伺服器都能採用快取的新網際網路密碼。您可以使用伺服器 Notes.ini 參數 HTTP_PWD_CHANGE_CACHE_HOURS 來配置快取資訊的保留時間長度。來自快取的資訊逾時之後,使用者只可以使用對伺服器在「Domino 名錄」中找到的密碼資訊,進行驗證的密碼。
附註 如果重新啟動 HTTP 伺服器,快取的密碼資訊將會被捨棄。使用者必須再次提供會與伺服器在「Domino 名錄」中找到的密碼資訊相符的密碼。
密碼快取及 SSO 登入名稱 依賴 HTTP 伺服器在其快取中尋找該使用者,以使用新的密碼。使用者必須以之前使用者登入所用的相同使用者名稱登入,快取的新網際網路密碼才會有效。例如,如果在變更密碼時,使用者先前是以 "John Doe" 身份登入,之後若使用新的密碼以及有效的其他名稱 (如 "jdoe"),使用者會無法登入。使用者必須如先前一樣,使用 "John Doe" 及新密碼來登入。
SSO 密碼快取的最佳實作
您應該指示使用者遵循下列步驟,以取得最佳結果:
1. 登入能支援 SSO 密碼快取的 Domino HTTP 伺服器。
2. 在伺服器上呼叫 ChangePassword URL,以提交網際網路密碼變更要求。例如:
SSO 環境中所有伺服器上的密碼變更,可能需要一些時間才會生效。在這段期間內,每當有使用者登入時,他們都應該如同先前一樣,使用相同的使用者登入名稱並提供新的密碼,先登入當初要求密碼變更的伺服器。
如果由於某些原因,當初要求變更密碼所在的伺服器不接受使用者的新密碼,使用者應該使用新的密碼及採用階層式名稱格式的使用者名稱 (例如,John Doe/MyCompany) 再試一次。
疑難排解 SSO 的網際網路密碼快取
下列清單說明在 SSO 環境中設定和使用網際網路密碼快取的一些常見問題。
如果使用者在第二個伺服器變更密碼,第二個伺服器將會快取此使用者的新網際網路密碼。在此情況下,因為使用者先在其他位置登入,所以伺服器不知道使用者的登入名稱。第二個伺服器會記住新的密碼,但是請記住,新密碼會以對應的 Domino 階層式名稱套用到使用者。如果使用者登出之後,想要以新的網際網路密碼直接登入此伺服器,則使用者必須提供他們的階層式名稱 (例如,John Doe/MyCompany)。
附註 針對新密碼所要求之密碼變更的相關資訊並不會傳遞給任何 DSAPI 程式庫,而且,雖然密碼變更會影響到此使用者「Domino 名錄」資訊,但變更密碼很可能不會改變 DSAPI 程式庫的使用者密碼概念。
當使用者要求變更密碼時,HTTP 伺服器會使用它對這名使用者所知的名稱,來快取此使用者的新網際網路密碼。如果使用者登出之後,想要以新的網際網路密碼登入與 DSAPI 程式庫無關的伺服器 URL,HTTP 伺服器將會嘗試驗證使用者的名稱及密碼。如果對目錄進行密碼變更仍在擱置中,只有在快取中可找到使用者的新密碼時,HTTP 伺服器才能夠驗證使用者的新密碼。為了尋找快取中的使用者,使用者必須提供與快取中的名稱相符的名稱,亦即 DSAPI 所傳遞的名稱,例如,"CN=John Doe/O=MyCompany"。