2017-06-22 86 views
0

嗨,大家好,我工作的一個項目中,我們可以禁止我們的用戶自定義規則。用戶表中的列名稱狀態可以爲true或false。現在我想在默認的asp.net用戶登錄中添加一個新規則,如果用戶被禁用(他的列名稱狀態等於false),不應該能夠以「Admin已禁用您的帳戶」的錯誤消息登錄。添加默認asp.net登錄系統

我看過的,

ManageController.cs 
IdentityConfig.cs 
ManageViewModles.cs 
IdentityModel.cs 

,但我沒有得到任何線索。我怎麼能在我的asp.net MVC-5應用

回答

0

在登錄帳戶控制的方法,我使用此代碼來實現它。

我在我的情況SignInStatus.Success的開關(結果)更新的代碼:

情況下SignInStatus.Success:

  var userID = SignInManager.AuthenticationManager.AuthenticationResponseGrant.Identity.GetUserId(); 
      AspNetUser res = db.AspNetUsers.Where(x => x.Id == userID).Select(x => x).FirstOrDefault(); 
      if (res.Status == "False") 
      { 
       AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie); 
       // return RedirectToAction("Index", "Home"); 
       ModelState.AddModelError("", "Admin has disabled your account."); 
       return View(model); 
      } 
//remaining code here 
0

你可以在你的登錄視圖控制器定義與異步功能的驗證,並調用它的登錄按鈕按下添加此規則。

良好的開端:here

編輯

在這裏,你可以在你的HomeController->索引行動的一些代碼示例。請注意,這不是異步,但你可以用你的DB調用實現異步操作:

[HttpGet] 
    public ActionResult Index() 
    { 
     //Verification of user 

     //if true 
     return View(); 

     //else false 
     return ErrorView(); //View that contains the error message 
    } 
+0

您的消息可通過函數返回視圖本身 –

+0

我在哪裏可以找到那個控制器 – Azeem112

+0

@ Azeem112我已經更新了答案。如果你的登錄帶你到你的網站的主頁,我想你應該有一個HomeController或LoginController。 –