Мы используем SocialAuth
для аутентификации с Spring 3
и имеем проблемы с сеансами между переадресацией.Хранить объекты сеанса между переадресацией
Когда мы делаем return "redirect:myURL";
в контроллере (после аутентификации) Перенаправление происходит должным образом, но, очень часто перенаправление создания нового экземпляра session
вместо того, чтобы использовать мой текущий session
, что приводит к NullPointerException
, когда я смотрю на некоторые переменный я хранящийся в session
.
Я добавил несколько сообщений System.out
, чтобы доказать, что создается новое session
.
Session id is before authentication...E7557680F892C6776F36691E9DF93CF5
session ID after authentication and redirct.... 726C2EE5C240BDE4D217CBFDB9C47A0F
Как я могу сохранить текущий session
в контексте приложения Spring, прежде чем перенаправлять и использовать его после редиректа на основе идентификатора сеанса? Есть ли другой способ, которым мы можем справиться с этим весной?
Спасибо за ответ. Попробуй это. – kosa
Какова область действия этих RedirectAttributes? Это сеанс? Если это так, это может не работать в моем случае. – kosa
Если вы посмотрите на API, вы, как правило, получите два метода 'addFlashAttribute' и' addAttribute'. 'addFlashAttribute' хранит флэш-карту объекта, которая внутренне хранится в сеансе, эти переменные удаляются после завершения перенаправления, а' addAttribute' создает параметры запроса из ваших атрибутов –