我想在JBoss EAP 6.3.2(相當於JBoss AS 7.4.x)中獲得羣集SSO,但我的會話複製工作正常,但SSO(用戶主體複製)在所有情況下都不起作用。JBoss EAP 6.3/AS 7具有不安全頁面的羣集SSO
當我使用具有適當角色的<auth-constraint>
的<security-contraint>
內部安全的servlet時,它可以正常工作。
但是,對於未受保護的servlet,直到我第一次訪問受保護的頁面時,SSO纔會起作用,該頁面似乎啓動SSO和infinispan,然後在羣集中找到用戶主體。
這是一個問題,因爲無論您是否登錄,我都有許多頁面的行爲不同。
我有一個狡猾的解決方法,我打電話reauthenticateFromSSO
內valve,然而,這不工作,直到後來的請求(我認爲我太晚在鏈中)。我大概可以做一個servlet FORWARD來解決這個問題,但它看起來不太好。
在standalone.xml中,我嘗試在<sso cache-container="web" cache-name="sso" reauthenticate="true"/>
行中設置reauthenticate=true
,但是,似乎每次我在集羣中的其他服務器上結束時都會導致它註銷。
JBoss內部是否存在一些魔術設置,以便在不需要驗證的頁面上重新驗證SSO?
嘗試實現一個自定義的驗證器調用方法reauthenticateFromSSO,看到的是https://開發商.jboss.org/wiki/AS7EAP6CustomAuthenticatorValves-WritingAnd配置 – 2015-02-09 12:33:10
我今天玩過,似乎在工作,我的問題似乎是因爲我打電話給我在我調用super.invoke之後,重新驗證失敗來自SSO,並且在鏈中已經太晚了。但在調用super.invoke之前,它運行良好。 – 2015-02-09 12:35:39
好的,我前一次遇到同樣的問題,驗證者是解決方案。就我而言,調用順序不是問題(在JBoss 7.1.1中)。 – 2015-02-09 12:48:20