2011-12-29 49 views
2

我已經使用Shibboleth手動登錄,這意味着用戶單擊網站上的登錄鏈接,該鏈接將打開Shibboleth登錄頁面所在的外部頁面。一旦通過身份驗證,它就會將它們重定向到原始站點並啓用Shibboleth頁面。Shibboleth and Autologin

我的問題是一旦登錄,他們去另一個網站,我怎麼能自動驗證他們,因爲他們已經從第一個網站shibboleth會話。他們是否必須點擊像第一個網站那樣的操作,然後將它們自動加入到用戶看不到的一些隱式重定向中,或者我可以在沒有檢查每個網頁加載情況下單擊登錄鏈接的情況下執行此操作。

回答

2

您可以檢查Shibboleth的其中一個標題,例如Shib_Authentication_Instant,如果不存在,則重定向。您可以在服務器級別執行此操作,而不是在應用程序邏輯中執行此操作,例如,對於Apache使用mod_shib

如果你想顯示「公共內容」和額外的「成員內容」,事情變得更加棘手。我猜你可能有一個登陸頁面請求一些受Shib保護的資源(1x1不可見的GIF,在查詢參數中有nonce,AJAXy,等等): 如果你的用戶已經通過Shib認證,你可以看到資源正在加載。 (否則,他將被困在該資源的一個不可見的登錄對話框中,這應該不重要,並且存儲他在會話中不可驗證。這不是安全關鍵:如果用戶刪除它,他會再次通過GIF程序,成員內容應取決於您的shibbolized Web服務器爲您插入的標題)。

但是,這是一個粗糙的黑客攻擊,可用性取決於標記gif的「良好」超時請求。