2014-10-20 54 views
0

形式的認證AJAX調用問題,我使用基於cookie的形式認證在我通過Ajax我的應用程序的應用程序和登錄。當我申請授權標籤在我web.config.my AJAX功能停止調用控制器登錄的操作方法。我的代碼是here.any建議,請...在MVC4

<authorization> 
    <deny users="?"/> 
</authorization> 

控制器ActionMethod

[HttpPost] 
    [AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult Login(string userName, string Password) 
    {} 

AJAX方法

  $.ajax({ 
       type: "POST", 
       url: '@Url.Action("Login", "Secur")', 
       data: "{userName:'" + UName + "',Password:'" + UPwd + "'}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       async: true, 
       cache: false, 
       success: function (msg) { 

        if (msg == "Successed") { 

         window.location.href = "Home/Dashboard";} 


       }, 
       error: function (e) {`enter code here 

        return false; 
       } 
      }) 
+1

好了,你有什麼問題? – ZiNNED 2014-10-20 08:02:55

+0

那麼什麼是問題呢? – 2014-10-20 08:03:09

+1

你不張貼AntiForgeryToken所以刪除'[ValidateAntiForgeryToken]'或者通過令牌 – 2014-10-20 08:06:10

回答

0

我覺得你的問題是這樣的。在配置您有:

<deny users="?"/>

這意味着拒絕匿名用戶。但在控制器方法有這個屬性:

[AllowAnonymous]

這似乎很奇怪。這種方法可以被任何人調用,或者它不是;它不可能是兩個。

編輯:

爲了方便起見,去除這個配置設置

<deny users="?"/>

意味着任何人都可以訪問該網站,因爲你沒有使用[Authorise]屬性,但使用[AllowAnonymous]。如果你有

<deny users="?"/>

則必須卸下[AllowAnonymous]並添加[Authorise]屬性。讓我們知道它是否仍然無法正常工作。

+0

仍然沒有工作[使用AllowAnonymous] – 2014-10-20 09:28:31