0

после этого урока Petri article Я пытаюсь создать такое же приложение с весенней загрузкой, но без спящего режима, только Jdbc, так как я еще учил спящий режим.Весна Безопасность Поддержка локальной учетной записи и социальной учетной записи

Я создал базу проекта на this tutorial первых, до сих пор я понимаю следующее:

  1. использования пружинной безопасности и JDBC для создания локального приложения входа в системе.
  2. логин с весной социальный и прочитайте фид, точно так же, как весенний социальный образец quickstart
  3. создать локальную учетную запись с социальной информацией, логин с социальной учетной записью.

Затем я пытаюсь изменить его для поддержки локального пользователя. Но есть несколько проблем, которые я до сих пор не мог решить. Вот my source code

  1. Я смотрю в проект Петри, не мог найти контроллер, который обрабатывать Войти POST, это значит, настраивая пружинную безопасность правильно, он обрабатывает это для нас? Мое приложение требует, чтобы я явно написал метод обработки логина POST, который я узнал из весеннего социального примера.
  2. Мой проект не работает должным образом. Если я локален с зарегистрированным локальным пользователем, он отображает/home, но url показывает/login. и если я снова прошу/домой, он отскакивает назад и отображает страницу входа в систему. Если я вхожу в систему с социальным пользователем, я пытаюсь использовать facebook, он перенаправляет меня на логин Facebook и после входа в систему, дает мне ошибку 403. Я думаю, что это вызвано плохой настройкой пружины, я просто еще не понял, как это сделать.
  3. Весенний социальный образец использует форму POST с/signin/facebook со скрытым полем «scope», которое определяет область facebook, например email, user_friends, user_posts, user_about_me. Но образец Петри использует гиперссылку/auth/facebook без какой-либо области. В чем разница между/signin/facebook и/auth/facebook? Как определить область с помощью гиперссылки? Нужно ли мне это делать?

ответ

0

Пожалуйста, внимательно прочитайте официальную документацию: spring-social reference Это объяснит вам все.

Разница между signin и auth объясняется в разделах 4.1 и 4.2. Кратко:

Поэтому, чтобы инициировать поставщика входа в поток через SocialAuthenticationFilter, вы можете просто указать ссылку на «/ Идент/{providerid}» на веб-странице.

и singin для ProviderSignInController.

Что касается пули № 1. Да, эта часть кода указывает пружину установки что-то для вас:

@Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
       //Configures form login 
       .formLogin() 
        .loginPage("/login") 
        .loginProcessingUrl("/login/authenticate") 
        .failureUrl("/login?error=bad_credentials") 

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

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