2015-03-09 2 views
0

Я разрабатываю веб-приложение Spring MVC и настроил Spring Security для перехвата всех URL-адресов и их аутентификации. Если пользователь отметит «запомнить меня», чтобы автоматически войти в систему без переадресации на страницу входа.Spring Security Запомнить меня

Скажем, мой Логин URL является

example.com/signin

и домашняя страница

example.com/home

Когда пользователь вводит любой URL-адрес действительной веб-страницы (например, example.com/home), которая требует аутентификация, если помнить меня включен, он направлен на эту конкретную веб-страницу без повторной аутентификации.

Но когда пользователь вводит example.com/signin, он просто отображает регистрационную форму, даже если он уже аутентифицирован и запомнен.

Как я могу перенаправить его на домашнюю страницу (example.com/home), если он является аутентифицированным и remmeber-me включенным пользователем без отображения страницы входа?

ответ

1

Эти ссылки могут помочь вам запомнить меня, используя весеннюю безопасность.

http://docs.spring.io/spring-security/site/docs/3.0.x/reference/remember-me.html http://www.mkyong.com/spring-security/spring-security-remember-me-example/

+0

Я уже реализовал запоминание. Я упомянул конкретный прецедент в вопросе. Пожалуйста, смотрите. – Maddy

+0

Вы используете http security вместе с выражениями? вы смотрели на настройку isFullyAuthenticated() при перехвате URL-адресов? – user3247727

0

Я добавил перенаправление к контроллеру. Пожалуйста, дайте мне знать, правильно ли это.

Authentication auth = SecurityContextHolder.getContext().getAuthentication(); 
      //if the user is already authenticated redirect him to the dashboard 
      if(!(auth instanceof AnonymousAuthenticationToken)){ 
       return "redirect:dashboard"; 
      } 
      return "signin"; 
Смежные вопросы