Как изменить форму входа в систему весной безопасности и пользовательский запрос входа в систему - PullRequest
0 голосов
/ 17 января 2020

У меня есть два сервера: server1: вход по электронной почте и пароль server2: вход по телефону и пароль

Я хочу два входа в систему в Spring Security. Я хочу, чтобы сервер 1 входил с URL server1/login и сервером 2 logn server2/login в весенней безопасности. Я пишу весеннюю безопасность, выглядит так:

    http.csrf().disable()
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .and()

                .httpBasic().authenticationEntryPoint(authenticationEntryPoint)

                .and()
                .authorizeRequests()

                .anyRequest()
                .authenticated()
                .and()
                .formLogin() 
                .loginProcessingUrl("/server1/login")
                .usernameParameter("email")
                .successHandler(authenticationSuccessHandler) 
                .failureHandler(authenticationFailureHandler) 
                .and()
                .formLogin()
                .loginProcessingUrl("/server2/login")
                .usernameParameter("phone")
                .successHandler()

                .permitAll(); 

Но это не работает.

Я хочу переместить loginProcessingUrl ("/ server1 / login") => в контроллер и проверить его (подтвердить адрес электронной почты и пароль, найти адрес электронной почты и проверить некоторую информационную базу данных). То же самое на сервер 2. Переместить loginProcessingUrl ("/ server2 / login") => в контроллер и проверить его (по телефону и паролю, найти электронную почту и проверить базу данных информации => это возможно?

У меня два вопроса

  1. Как выполнить многократную регистрацию в Spring Security с двумя серверами: вход с сервера server1 (электронная почта и пароль) и с сервера 2 (телефон и пароль). При входе с сервера вход в систему перенаправляет на вход по электронной почте и сервер 2 войти в систему, позвонить, войти в систему по телефону.
  2. Как настроить пользовательский вход в API весной. Потому что весенний вход по умолчанию по имени пользователя и паролю. Я хочу войти по телефону и паролю. Как создать пользовательский вход в API в контроллере и обрабатывать вход в систему на каждом сервере. Потому что, если я создаю пользовательский API, я не могу определить, когда пользователь успешно вошел в систему. Но когда я использую loginProcessingUrl("/server1/login"), пружина автоматически определяет его по AuthenticationSuccessHandler. Спасибо
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...