您的位置:首页 > 编程语言 > Java开发

SpringSecurity使用自定义登录界面时无法正常登录,卡在登录界面的问题的解决方法

2020-07-16 06:06 197 查看

问题描述

在使用spring-security时,遇到了卡在登陆界面,无论是输入正确还是错误的密码提交表单,只会刷新一下登录界面,而且后端的AuthenticationFailureHandler和AuthenticationSuccessHandler都不会触发,甚至是自定义的UserDetailsService都没有触发。而这个问题在注释掉.loginPage("/login")后就奇怪的消失了。

问题原因

在login的界面使用的某个资源没有被springsecurity放行。
如下,只放行了一个/login页面

@Override
protected void configure(HttpSecurity http) throws Exception {
http    .csrf().disable()
.formLogin()
.loginPage("/login")
.passwordParameter("password").usernameParameter("name")
.failureHandler(authenticationFailureHandler).successHandler(authenticationSuccessHandler)
.defaultSuccessUrl("/")
.and()
.authorizeRequests()
.antMatchers("/login").permitAll()
.anyRequest().authenticated()
.and()
;
}

但是在login页面中调用了服务器的静态资源

<link rel="stylesheet" href="/static/css/login.css">

这个页面中的静态资源会导致用户卡在login页面。

解决方法

开放所使用的静态资源的权限。

.antMatchers("/static/**").permitAll()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐