Установка cookie при входе в Spring Security 3.0 - PullRequest
5 голосов
/ 29 ноября 2010

Мне нужно установить cookie, когда кто-то входит в систему, и страница JSP, которая появляется, должна иметь возможность прочитать этот cookie в Javascript и выполнить действие на его основе.Часть, на которой я застрял - это установка cookie при входе в систему.Я использую Spring 3.0 и Spring Security 3.0.

Я зарегистрировал LoginListener:

public class LoginListener implements ApplicationListener {
    public void onApplicationEvent(ApplicationEvent event) {
        if (event instanceof AuthenticationSuccessEvent) {
            somehowGetResponseObject.addCookie(new Cookie(name, value));
        }
    }
}

В идеале я также могу получить объект запроса, чтобы найти contextPath и установить егов качестве пути печенья.Я в порядке, добавив cookie-файл в объект ThreadLocal и затем прочитав его позже, когда у меня будет доступ к объекту ответа, но есть ли более позднее время, когда у меня будет такой доступ?Я не очень восторженно отношусь к добавлению файла cookie в сеанс, а затем к прочтению этого на полученной странице JSP, но я сделаю это, если потребуется.Могу ли я получить доступ к сеансу HttpSession?

ОБНОВЛЕНИЕ : задание аутентификации-успешно-обработчика-реф решило это: http://static.springsource.org/spring-security/site/docs/3.0.x/reference/core-web-filters.html#form-login-flow-handling

1 Ответ

2 голосов
/ 29 ноября 2010

Что-то совершенно другое, почему бы вам просто не напечатать это значение, как будто оно является переменной JS?

<script>
    var something = '${somebean.someproperty}';
    if (something) {
        performActionWith(something);
    }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...