Как настроить cookie в методе LiftFilter.doFilter?Настройка cookie в LiftFilter
Я попытался установить кук следующим образом (разделите некоторый код):
class AuthenticationFilter extends LiftFilter {
override def doFilter(request: ServletRequest, response: ServletResponse , chain: FilterChain) {
val cookie = new HTTPCookie("SomeCookie", Full("" + System.nanoTime), Empty,
Full("/authentication"), Full(60 * 60 * 24 * 14), Empty, Empty)
cookie.setPath("/somePath")
S.addCookie(cookie)
val httpResp = response.asInstanceOf[HttpServletResponse]
httpResp.sendRedirect("/some/page.html")
}
}
Однако, когда я проверяю браузеры печенья, не печенье не установлено (кроме JSessionID), и я знаю, метод doFilter выполняется из-за регистрации сообщений и того факта, что браузер перенаправлен на /some/page.html.
Я использую Scala 2.8, Lift 2.1-SNAPSHOT и приложение работает GAE (1.3.6, только проверено на dev_appserver до сих пор).
Любые идеи? Спасибо,
Геро
уже решил ее взять другой подход, в котором я не делаю необходимо установить cookie в фильтр. У вас была проблема, хотя прочитать файл cookie в фильтре с помощью метода S.cookieValue. Поэтому вместо этого я использовал request.asInstanceOf [HttpServletRequest] .getCookies, а затем выбрал правильный файл cookie. Это сработало ... может быть, может быть улучшено. – Gero
Я думаю, что ваш разговор с Дэвидом Поллаком дает интересную информацию: http://groups.google.com/group/liftweb/browse_thread/thread/bce3211dc6a39349/af463c988448e592?show_docid=af463c988448e592&pli=1 – thoredge