2015-04-20 6 views
0

В течение нескольких дней я пытаюсь решить свою проблему с сеансами магнолии и весны, после многих часов у меня больше нет идей, что может быть неправильным.Магнолия CMS Public и Session Scope Bean

Я разрабатываю простое приложение на основе Magnolia 5.2.4, работающее над tomcat 7.0.5. Я также использую Blossome вместе с Spring MVC

Проблема, с которой я столкнулся, появляется только в Public для анонимного пользователя, и речь идет о сеансе Bean, который я использую, чтобы сохранить все зарегистрированные данные использования - да, я не используя весеннюю безопасность, чтобы не усложнять ситуацию. Таким образом, у меня есть компонент области сеанса сеанса, который хранит, например, зарегистрированные данные пользователя. Что я извлечение из бобов на страницах JSP и т.д.

  1. Когда я печатаю www.my_doman.com/appName после регистрации пользователя (и сессионный компонент заполнен пользовательских данных) является, кажется, что я m получение некоторого нового сеансового компонента, поскольку данные пользователя пустые (= null). Когда я делаю некоторые действия, такие как www.my_doman.com/appName/action.html или даже www.my_doman.com/appName//, запускается правильный контроллер, и я получаю правильный сеансовый компонент с пользовательскими данными, которые я заполнил сразу после он вошел в систему. Больше www.my_doman.com/appName не ведет себя как www.my_doman.com/appName**/**

  2. Когда я выхожу из системы, очищайте данные пользователя, хранящиеся в sessionBean (sessionBean. setUserData (null);) и invalidate session (request.getSession(). invalidate) Иногда я получаю «старые» пользовательские данные. Даже на другом компьютере я могу перехватить пользователя, зарегистрированного на другой машине. Итак - я нажимаю «выйти из системы», а контроллер и jsp не находят каких-либо пользовательских данных (что правильно), но когда я меняю свое действие на www.my_doman.com/appName/, старые сеансовые компоненты возвращаются с отключенным данные пользователя. На авторе для суперпользователя это работает просто отлично .......

Есть ли у кого-нибудь идеи, что не так? Я пытался с правами анонимного пользователя магнолии, но это не так, как я думаю.

С наилучшими пожеланиями Jan

ответ

1

Когда вы получите старые данные на другом компьютере, попробуйте войти в интерфейсе администратора публичного экземпляра, перейдите в меню Сервис/Cache Tools и нажмите «Flush все» кнопки в нижней части страница. Посмотрите, если проблема исчезнет тогда. Я подозреваю, что вы кешируете страницы, специфичные для пользователя, и их не следует кэшировать. Если вышеприведенный тест помогает избавиться от проблемы, вы должны изучить конфигурацию кеша, чтобы перенастроить его, чтобы исключить страницы, которые имеют персонализированную информацию из кеша.

НТН,
Jan

+0

Привет января Большое спасибо, вы мне очень помогли. Проблема решена ;) – Jan

Смежные вопросы