2015-06-02 116 views
2

我知道有很多问题已经可用,与此错误有关,但我已尝试几乎所有事情,没有任何修复我的问题。弹簧安全使用AJAX登录时显示403错误

当我sumbmitting我在浏览器控制台的形式,我看到

Failed to load resource: the server responded with a status of 403 (Forbidden) 

我的项目是在Spring 4.0.3,春季安全4.0.1,Java的8和wildfly 8.x的服务器

上运行

我的Ajax调用

$.ajax({ 
      url: "j_spring_security_check",  
      data: $('#loginForm').serialize(), 
      type: "POST", 
      beforeSend: function (xhr) { 
       xhr.setRequestHeader("X-Ajax-call", "true"); 
      }, 
      success: function(result) {  
       if (result == "not-ok") { 
        $('.error').show(); 
        $('.login-error').html(CREDENTIAL_CHECK) ; 
        return false; 
       } else { 
        $('.error').hide(); 
        document.location = result; 
       } 
      }, 
      error: function(XMLHttpRequest, textStatus, errorThrown){ 
       $('.error').show(); 
       $('.login-error').html(NETWORK_CHECK) ; 
       return false; 
      } 
     }); 

我的安全配置:

<security:form-login login-page="/home" 
         default-target-url="/home" 
         authentication-failure-handler-ref="myAuthenticationFailureHandler" 
         authentication-success-handler-ref="myAuthenticationSuccessHandler" 
/> 
<security:logout logout-success-url="/logout" 
       invalidate-session="true" 
       delete-cookies="SPRING_SECURITY_REMEMBER_ME_COOKIE" 
/> 

我试图设置

<security:headers disabled="true" /> 

<security:csrf disabled="true" /> 

它不working.in服务器控制台还,我没有看到任何错误。

我还能做些什么来解决这个错误?我已经浪费了2天这个问题

+0

链接'login'不'j_spring_security_check'。 –

+0

你好吗? – user3035305

+0

检查你的控制器中的ajax url是否存在。并确保您的控制器中的RequestMethod.POST。 –

回答