2010-11-29 4 views
5

Мне нужно установить файл cookie, когда кто-то войдет в систему, а страница JSP, которая появляется, должна быть в состоянии прочитать этот файл cookie в Javascript и выполнить действие на нем. Часть, на которую я застрял, устанавливает cookie при входе в систему. Я использую Spring 3.0 и Spring Security 3.0.Настройка cookie при регистрации в 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?

UPDATE: Определять аутентификацией успех обработчика-исх решить это: http://static.springsource.org/spring-security/site/docs/3.0.x/reference/core-web-filters.html#form-login-flow-handling

ответ

2

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

<script> 
    var something = '${somebean.someproperty}'; 
    if (something) { 
     performActionWith(something); 
    } 
</script> 
+0

Мне нужно выполнить действие в JavaScript, когда кто-то входит. Но этот человек может войти и в конечном итоге на любой веб-страницы, так что я не знаю страницу, прежде чем руки, что они собираются посадить на , – 2010-11-29 19:21:37