2017-06-22 80 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。 –