2012-04-05 71 views
0

我有一個(也許很簡單)關於CAS protocol的問題。 從我在協議描述中看到的,使用更新參數中的/serviceValidate調用強制用戶再次提供其crendential。SSO - CAS協議 - 更新參數

2.5.1。參數 可以將以下HTTP請求參數指定給/ serviceValidate。它們區分大小寫,必須全部由/ serviceValidate處理。

[...] renew [可選] - 如果設置了此參數,則只有在服務票據是從用戶的主憑證的表示發出時票證驗證纔會成功。如果票據是從單一登錄會話發出的,它將會失敗。

由於每張票是針對特定的服務,這是否意味着更新參數強制用戶提供其憑據每次他試圖訪問應用程序,即使他已經登錄和使用的其他應用?

回答

2

在/ serviceValidate URI上設置「renew = true」表示如果用戶通過呈現主憑證(用戶標識,psw)獲取該憑單,則僅通過CAS驗證服務憑單請求。因此,如果您嘗試在先前嘗試建立SSO會話時驗證服務票證,則將「renew = true」設置爲true將導致驗證失敗。

但是,如果您試圖強制用戶每次使用對CAS服務器的URI調用都輸入憑據,則將使用「renew = true」參數。換句話說,如果應用程序X被指定爲/ login URL的服務URL,並且renew設置爲true,則無論先前的SSO會話是否存在,用戶都將被強制提供憑證。

希望有所幫助。 :)