总结:from表单是需要上下文路径,而loginProcessingUrl不需要上下文路径!!
<form action="/lms_sb/login_toSC" method="post">
<div class="form-group">
<label for="username">Username</label>
<input type="text" id="username" name="username" required>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" id="password" name="password" required>
</div>
<button type="submit">Login</button>
</form>
server.servlet.context-path=/lms_sb
http.authorizeRequests()
.antMatchers("/login_test").permitAll()
.antMatchers("/login_toSC").permitAll() 不需要加上下文路径!!!!!!!
.anyRequest().authenticated();
http.formLogin()
.loginPage("/login_test")
// <form action="/lms_sb/login_toSC" method="post">
.loginProcessingUrl("/login_toSC") //不需要加上下文路径!!!!!!!
controller
@RequestMapping("login_test")
public String showlogin(){
return "login_test";
}
找了好多篇解决不了,问AI也解决不了
完整configure
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http.authorizeRequests()
.antMatchers("/login_test").permitAll()
.antMatchers("/login_toSC").permitAll() 不需要加上下文路径!!!!!!!
.anyRequest().authenticated();
http.formLogin()
.loginPage("/login_test")
// <form action="/lms_sb/login_toSC" method="post">
.loginProcessingUrl("/login_toSC") //不需要加上下文路径!!!!!!!
.defaultSuccessUrl("/index")
.usernameParameter("username")//登录表单form中用户名输入框input的name名,不修改的话默认是username
.passwordParameter("password")//form中密码输入框input的name名,不修改的话默认是password
.permitAll();
}