使用spring security卡在登录屏幕上

l3zydbqr  于 2021-07-14  发布在  Java
关注(0)|答案(0)|浏览(265)

我目前正在使用SpringSecurity来验证我的登录屏幕。对于无效登录(错误的用户名/密码组合),它可以正常工作。当我输入正确的用户名和密码时,我会收到成功消息,但会被重定向回登录屏幕。我在前端使用axios在收到一个好的请求后将我重定向到登录屏幕。我不想上传所有的代码,但我会上传我认为是必要的解决问题。
安全配置.java

@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Autowired
    UserDetailsService userDetailsService;

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService);
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable();
        http.authorizeRequests()
                .antMatchers("/login", "/signup").permitAll()
                .antMatchers("/home/**").authenticated().anyRequest().permitAll()
                .and().formLogin()
                .loginPage("/login");
    }

    @Bean
    public PasswordEncoder getPasswordEncoder() {
        return NoOpPasswordEncoder.getInstance();
    }
}

前端javascript代码

getRequest(){
                console.log("HERE");
                axios({
                    method: 'post',
                    url: 'http://localhost:8080/api/login',
                    data: {
                        username: this.username,
                        password: this.password
                    }
                })
                .then(res => {
                    alert("Success, Authenticiation processed!");
                    window.location = "http://localhost:8080/home";
                })
                .catch(err => {
                    this.status = "ERROR";
                    console.log("error")

                });
            }

我100%肯定这与安全配置有关,因为我已经调试了我的控制器,似乎没有什么问题。提前谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题