尝试让Grails SSC AJAX登录与Chrome扩展一起工作

尝试让Grails SSC AJAX登录与Chrome扩展一起工作,grails,spring-security,google-chrome-extension,Grails,Spring Security,Google Chrome Extension,我正在尝试编写一个Chrome扩展,它将使用springsecuritycore插件的AJAX功能登录到我的Grails应用程序。如果以前没有登录,并且我是从扩展(ajax)登录的,那么它可以工作。然后,如果我注销(ajax),也可以,但是任何进一步的登录(ajax)都失败了,但是我得到了ajax成功,告诉我用户名是匿名用户 为了复位,我需要通过标准的web登录(非ajax)登录/注销,并且我可以使用ajax再次登录/注销。然后我再次获得匿名用户用户名 我如何解决这个问题,或者让Grails安全

我正在尝试编写一个Chrome扩展,它将使用springsecuritycore插件的AJAX功能登录到我的Grails应用程序。如果以前没有登录,并且我是从扩展(ajax)登录的,那么它可以工作。然后,如果我注销(ajax),也可以,但是任何进一步的登录(ajax)都失败了,但是我得到了ajax成功,告诉我用户名是匿名用户

为了复位,我需要通过标准的web登录(非ajax)登录/注销,并且我可以使用ajax再次登录/注销。然后我再次获得匿名用户用户名

我如何解决这个问题,或者让Grails安全性像正常的非ajax登录/注销一样清除用户名


这可能与Chrome有关吗?

看起来这是Chrome中cookie安全性的问题。我仍在努力找出具体细节,但为了避开它,我必须在扩展代码中显式设置jsessionid cookie。在我看来,如果我将权限设置为允许XHR请求,那么这些权限也应该应用于cookies。

添加更多调试代码,我注意到在ajax注销与正常web注销之后,身份验证对象的sessionId为null。这可能是我的问题吗?我想可能是Chrome,当我看到cookies时,扩展并没有像响应中所说的那样更新它们。所以我有一个旧的jsessionid值,我猜SpringSecurity不喜欢这个值。