2014-11-06 67 views
0

我們已經在具有兩個節點的JBoss EAP 6.3羣集中成功配置了SSO。JBoss單點登錄緩存

事情是,我不明白我們必須創建的名爲「sso」的複製緩存與我們安全域中的緩存類型(設置爲默認值)之間的關係(該域使用ldap連接)。

安全域使用該複製緩存嗎?哪個緩存使用?因爲我們想爲緩存配置一個超時,所以如果在ldap上發生了變化,緩存將刷新。

這種情況的一個常見示例是,當用戶獲得新權限時,他希望立即或在短時間內訪問新的功能。實際上,我們必須重新啓動整個JBoss,這並不是很好。

謝謝, 關心。

回答

0
<security-domain flushOnSessionInvalidation="true" >OUR_DOMAIN</security-domain> 

隨着對的jboss-web.xml中那行,我們得到了我們所期待的行爲。

1

在集羣模式下,使用SSO緩存對一個節點上的用戶(身份驗證發生在安全域中)進行身份驗證,身份驗證會自動傳遞到集羣中的其他節點。

安全域緩存它加速了身份驗證檢查,這可以在具有複製緩存的節點之間共享。但是,緩存中憑據的存在並不保證在應用程序中進行身份驗證。

例如,如果您將sso的屬性reauthenticate設置爲true,則此屬性是一個標誌,用於確定是否需要將每個請求重新認證至securityRealm。設置爲true可允許具有不同安全域配置的Web應用程序共享SSO

我希望這個幫助。

+0

我們已經將reauthenticate屬性設置爲true。問題是,當用戶登錄時,它不會刷新ldap中的角色。而不是從某種緩存中獲取角色。爲了測試該場景,我們更改了爲指定用戶分配的角色,並使用該用戶註銷,然後登錄,但沒有任何更改。 – Mateo 2014-11-10 18:32:20

+1

@Mateo嘗試啓用「org.jboss.security.auth.spi」和「org.jboss.as.web.sso」類別的跟蹤級別,並通過再次執行用戶登錄來驗證這一點,而不是從JAAS獲取高速緩存 – 2014-11-10 19:13:53