2010-11-18 90 views
0

我在嘗試編寫一個Chrome擴展,它將使用Spring Security Core插件的AJAX功能登錄到我的Grails應用程序。如果以前沒有登錄,並且我從擴展名(ajax)登錄,它就可以工作。然後,如果我註銷(ajax),也適用,但任何進一步的登錄(ajax)失敗,但我得到一個ajax成功告訴我用戶名是anonymousUser。試圖讓Grails SSC AJAX登錄與Chrome擴展一起工作

爲了重置東西,我需要通過標準web登錄(非ajax)登錄/註銷,並且我可以再次使用ajax登錄/註銷一次。然後我再次獲得anonymousUser用戶名。

如何解決此問題或獲取Grails安全性來清除用戶名,如正常的非Ajax登錄/註銷?

這可能與Chrome有關嗎?

+0

添加一些更多的調試代碼,我注意到,在ajax註銷vs正常的web註銷之後,我的認證對象的sessionId爲空。可能是我的問題? – ahanson 2010-11-18 20:45:43

+0

我在想這可能是Chrome,因爲看起來當我看到cookies時,擴展程序並沒有像響應中所說的那樣更新它們。所以我有一個老的jsessionid值,我猜Spring Security不喜歡。 – ahanson 2010-11-18 22:11:27

回答

0

看起來這是Chrome中的cookie安全問題。我仍在努力弄清楚具體細節,但爲了解決這個問題,我必須在擴展代碼中明確地設置jsessionid cookie。在我看來,如果我的權限設置爲允許XHR請求也應該將這些權限應用於Cookie。