spring-boot with spring-boot,自定义登录页面,错误403

时间:2016-08-30 14:49:38

标签: html spring-security spring-boot

我使用spring-boot和spring-security来构建项目,使用自定义登录页面404次错误,我想做的是分离登录页面和项目,并验证使用Ajax URL发送的用户信息登录页面,但总是错误403,我更改了spring boot安全配置的配置信息,但没有特定的效果。以下代码:

@Override
public void configure(HttpSecurity http) throws Exception{
    http.authorizeRequests()
            .anyRequest().authenticated()
            .antMatchers("/index.html").permitAll()
            .and()
            .formLogin().usernameParameter("username")
            .passwordParameter("password")
            .loginProcessingUrl("/login")
            .loginPage("/login")
            .failureUrl("/login?error")
            .permitAll()
            .and()
            .logout().permitAll();
}

发送帖子网址:localhost:8888 / login
params:用户名,密码
回复:403

错误消息:

此应用程序没有/ error的显式映射,因此您将此视为后备 出现意外错误(type = Forbidden,status = 403) 未找到预期的csrf令牌。您的会话是否已过期?

1 个答案:

答案 0 :(得分:0)

您必须配置post以包含Spring Security中的csrf令牌。您必须在POST请求中设置标头参数“X-CSRF-TOKEN”。 POST请求示例:

$.ajax({
    type: "POST",
    beforeSend: function (request)
    {
        request.setRequestHeader("X-CSRF-TOKEN", "${_csrf.token}");
    },

    ///...

});