У меня есть два сервера: 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") => в контроллер и проверить его (по телефону и паролю, найти электронную почту и проверить базу данных информации => это возможно?
У меня два вопроса
- Как выполнить многократную регистрацию в Spring Security с двумя серверами: вход с сервера server1 (электронная почта и пароль) и с сервера 2 (телефон и пароль). При входе с сервера вход в систему перенаправляет на вход по электронной почте и сервер 2 войти в систему, позвонить, войти в систему по телефону.
- Как настроить пользовательский вход в API весной. Потому что весенний вход по умолчанию по имени пользователя и паролю. Я хочу войти по телефону и паролю. Как создать пользовательский вход в API в контроллере и обрабатывать вход в систему на каждом сервере. Потому что, если я создаю пользовательский API, я не могу определить, когда пользователь успешно вошел в систему. Но когда я использую
loginProcessingUrl("/server1/login")
, пружина автоматически определяет его по AuthenticationSuccessHandler. Спасибо