如何解决Spring Security自定义登录页面未重定向
我正在使用jsf servlet并创建了自定义登录页面,使用了动作为j_spring_security_check的形式,方法为POST,使用了j_username和j_password。 问题是,当我单击“登录”按钮时,它没有重定向到页面,但是在Chrome网络列中,它显示带有302状态代码的开机自检方法j_spring_security_check,我是否使用spring安全性正确的方法?
Login.jsf页面:
<form action="j_spring_security_check" method="POST" >
<div class="input-group mb-3">
<div class="input-group-append">
<span class="input-group-text"><i class="fas fa-user"></i></span>
</div>
<p:inputText type="text" name="j_username" id="j_username" class="form-control input_user" value="" placeholder="username"/>
</div>
<div class="input-group mb-2">
<div class="input-group-append">
<span class="input-group-text"><i class="fas fa-key"></i></span>
</div>
<p:password type="password" id="j_password" name="j_password" class="form-control input_pass" value="" placeholder="password" />
</div>
<div class="d-flex justify-content-center mt-3 login_container">
<button type="submit" class="btn login_btn" >Login</button>
</div>
</form>
网络安全配置:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/resources/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin().loginPage("/login").successForwardUrl("/WelcomePage.jsf").failureForwardUrl("/addPicture.jsf").permitAll()
.successForwardUrl("/WelcomePage.jsf")
.and()
.logout().permitAll();
http.csrf().disable();
}
解决方法
我解决了问题,将动作形式从j_spring_security_check更改为#{request.contextPath} / login,一切正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。