2016-06-09 38 views
0

我在Azure上託管了一個簡單的ASP.NET MVC5 Web應用程序,我正在使用SimpleMembershipProvider手動驗證。SimpleMembershipProvider不能在Azure上工作

在我的本地機器上一切正常,但是當我嘗試登錄Azure應用程序時,WebSecurity.Login始終返回false。沒有發生異常,並且所有UserProfiles都出現在數據庫中。我試着調試我的登錄方法,但是WebSecurity.Login有點黑盒子,所以我不確定它爲什麼返回false。

public ActionResult Login(Login loginData, string ReturnUrl) 
    {  
     if (ModelState.IsValid) 
     { 
      if (WebSecurity.Login(loginData.Username, loginData.Password)) 
      { 
       if (ReturnUrl != null) 
       { 
        return Redirect(ReturnUrl); 
       } 
       return RedirectToAction("Index", "Home"); 
      } 
     } 
     ModelState.AddModelError("", "Sorry the username or password is incorrect"); 
     return View(loginData); 
    } 
+0

你檢查了這個問題嗎?http://stackoverflow.com/questions/12254701/simplemembershipprovider-not-working?rq=1 – Aravind

+0

我做到了。他正在發生異常,但我的登錄失敗,就好像密碼不正確。它必須是非常簡單的東西,我錯過了。 –

回答

0

經過一番研究後,我得到了它的工作。看起來,從我的開發機器接種數據庫時生成的密碼哈希值與服務器計算的值不同。我不確定這是爲什麼,但是一旦我在服務器上啓動應用程序時調用CreateUser函數,而不是從開發計算機上的Update-Database啓動,登錄函數就開始正常工作。

相關問題