2010-11-18 1 views
0

Я пытаюсь написать расширение Chrome, которое войдет в мое приложение Grails, используя возможности AJAX плагина Spring Security Core. Если ранее не было входа в систему и я вхожу в систему с расширением (ajax), он работает. Затем, если я выхожу из системы (ajax), это работает так же, но любые другие логины (ajax) терпят неудачу, но я получаю успех ajax, говорящий, что имя пользователя - anonymousUser.Попытка получить доступ к окну Grails SSC AJAX для работы с расширением Chrome

Чтобы сбросить настройки, мне нужно войти в систему/выйти из стандартного входа в систему (не-ajax), и я могу снова войти в систему/выйти один раз с помощью ajax. Затем я снова получаю имя пользователя anonymousUser.

Как я могу устранить эту проблему или получить защиту Grails, чтобы очистить имя пользователя, как обычный вход/выход из системы, отличной от ajax?

Возможно, это связано с Chrome?

+0

Добавление еще некоторого кода отладки, я замечаю, что мой sessionId объекта аутентификации имеет значение null после выхода ajax и обычного выхода в систему. Могла ли это быть моей проблемой? – ahanson

+0

Я думаю, что это может быть Chrome, поскольку, как кажется, когда я смотрю файлы cookie, расширение не обновляет их, как говорит ответ. Итак, у меня есть старое значение jsessionid, которое, как мне кажется, Spring Security не нравится. – ahanson

ответ

0

Похоже, что это была проблема с безопасностью файлов cookie в Chrome. Я все еще работаю над тем, чтобы разобраться в специфике, но обойти это, мне пришлось явно установить куки-файл jsessionid в код расширения. Мне кажется, что если бы у меня были разрешения, разрешающие XHR-запросы, чтобы эти разрешения также были применены к файлам cookie.