2016-03-26 2 views
0

Мне нужно войти вручную в приложение, защищенное весной. Мой сценарийвесна безопасность предварительно аутентифицированная логин пользователя

  1. пользователь регистрируется в приложении 1.
  2. Ссылка на мой яровой приложения будут доступны.
  3. Когда пользователь нажимает на ссылку, приложение 1 отправляет зашифрованные данные на незащищенный URL-адрес в моем приложении-источнике.
  4. Теперь мой контроллер получит зашифрованные данные и вызовет веб-службу в приложении 1, зашифрованные данные будут переданы в веб-службе, и я получаю ответ с именем пользователя.
  5. после получения имени пользователя. Я не хочу повторять аутентификацию. Я просто хочу установить объект-пользователь/объект аутентификации и загрузить панель.

Шаг 1 - 4 работает.

В моем незащищенном контроллере (где я получу зашифрованные данные) У меня есть следующие строки, но это снова вызывает мой диспетчер аутентификации, и я не хочу снова аутентифицироваться в этом сценарии. Я просто хочу, чтобы сеанс был создан, и пользовательский принцип должен быть установлен.

String username = application1.webservice(encoded data); 
    Authentication authentication = new UsernamePasswordAuthenticationToken(username,password); 
    SecurityContextHolder.getContext().setAuthentication(authentication); 
    return "redirect:/app"; 

Примечание: У меня работает аутентификация LDAP на основе формы (это будет использоваться, если пользователь непосредственно входит в мое приложение) Я использую Spring Security 3.2/Java Config

ответ

0

SecurityContextPersistenceFilter отвечает за установив SecurityContext в SecurityContextHolder в начале веб-запроса. И любые изменения в SecurityContext во время обработки запроса будут скопированы в HttpSession, когда веб-запрос будет завершен.

Поэтому, когда вы обновляете Authentication в SecurityContext, этот фильтр обновит HttpSession в конце запроса аутентификации.

Можете ли вы подтвердить, что JSESSIONID, отправленный обратно на ответ аутентификации, тот же, который передается по всем последующим запросам?

+0

Привет, Спасибо за ответ. Я добавил настраиваемую аутентификацию и ее решение. – Mukun

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