springboot + springsecurity的身份验证问题

时间:2018-09-11 06:16:31

标签: spring-boot spring-security

我的前端位于localhost:8000(python服务器最终用于s3)上,后端位于localhost:8080(spring boot最终用于ec2)。我的后端是启用了弹簧引导启动程序安全性的其余端点。当我尝试登录时,它最初给我带来了一个问题,即在成功进行身份验证后,它试图进入localhost:8080,但没有任何帮助。因此,我添加了index.html。这样就解决了问题,现在转到我的ajax调用的success部分,尝试调用localhost:8080/assessment/all

从login.js进行Ajax调用

$.ajax({
        url : 'http://localhost:8080/login',
        type : 'POST',
        contentType : 'application/x-www-form-urlencoded;charset=UTF-8',
        data : { username :  $('#login-username').val(),    password : $('#login-password').val() },
        success : function () {
            window.location.href = '../html/assessment.html';
        },  
        error : function () {
            event.preventDefault();
            //alert('failed');
        }
    });

assessage.js中的Ajax调用

$.ajax({
        url : 'http://localhost:8080/assessments/all',
        dataType : 'json',
        success : function () {
                window.location.href = '../html/assessment.html';
            },  
            error : function () {
                event.preventDefault();
                //alert('failed');
            }
});

现在,这里的问题是它再次尝试重定向到login.html。我如何检查用户是否已经登录。这是因为前端在其他服务器上吗?登录后是否应该将某些东西发送回前端?有人可以告诉我这里。

安全配置的片段

 @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .csrf().disable()
                .authorizeRequests()
                .antMatchers("/login**").permitAll()
                .antMatchers("/assessments/**").fullyAuthenticated()
                .antMatchers("/").permitAll()
                .and()
                .formLogin()
                .loginPage("http://localhost:8000")
                .loginProcessingUrl("/login")
                .usernameParameter("username")
                .passwordParameter("password")
                .failureUrl("/login?error")
                .permitAll()
                .and()
                .logout()
                .invalidateHttpSession(true)
                .deleteCookies("JSESSIONID")
                .permitAll();
    }

0 个答案:

没有答案