Я нашел способ, и он довольно прост. Я настроил WebSecurityConfigurerAdapter
следующим образом:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/login-procout").permitAll() // login for furnishers
.anyRequest().authenticated()
.and()
.formLogin().loginPage("/login-officers") // default login page
.permitAll()
.successHandler(customAuthenticationSuccessHandler())
.and()
.logout()
.permitAll();
http.csrf().disable();
}
Затем я создаю две html
страницы login-officers.html
и login-procout.html
, на которые ссылается Controller
следующим образом:
@Controller
public class MyController {
@GetMapping("/login-officers")
public String loginOfficers() {
return "login-officers";
}
@GetMapping("/login-procout")
public String loginProcout() {
return "login-procout";
}
}
И на обеих страницах у меня по умолчанию Spring Security Form
:
<form action="" th:action="@{/login}" method="post">
<input type="text" name="username" id="username" placeholder="Username"/>
<input type="password" name="password" id="password" placeholder="Password"/>
<input type="submit" id="login" value="Log In" />
</form>
Я не знаю, правильно ли это делать, но это работает.