2009-07-23 73 views
2

我已經爲JBoss編寫了一個自定義登錄模塊,用於驗證/授權對Web服務的請求。對服務的第一個調用認證正常。我可以將調試器連接到登錄模塊並跟蹤代碼執行。但是,所有後續對Web服務的調用都會完全跳過登錄模塊。看起來JBoss/jaas正在重用第一個連接的結果。JBoss自定義登錄模塊僅適用於一次

我被卡住了。任何建議讓我過駝峯?

回答

0

身份驗證/授權是否與會話對象關聯?你如何設置會話的超時/失效?

JBOSS可能以某種方式緩存證書。你想要它在這種情況下跳過登錄模塊。如果您註銷或超時會話,您只應使其無效。

你用兩個單獨的用戶/瀏覽器測試了它們,每個用戶都有自己的會話嗎?

+0

我有同樣的想法,JBoss正在緩存一些東西。由於這是無狀態Web服務的自定義安全模塊,因此我寧願自己緩存憑據。我想禁用JBoss緩存,並且每次都執行登錄模塊。 – IdahoX 2009-07-24 01:08:50

1

我想通了。我試圖設置基於cookie的身份驗證。顯然,JBoss/Jaas基於用戶名和密碼緩存了成功的身份驗證,Cookie被忽略。爲了讓事情順利進行,我從Web服務請求中刪除了Cookie,並在驗證標頭中將其替換爲用戶名和密碼。