Search code examples
asp.netasp.net-mvcasp.net-identity

adding a custom rule in default asp.net login system


Hi guys I'm working on a project in which we can disable our users. There is a column name status in user table that can be true or false. Now I want to add a new rule in default asp.net user login that if a user is disable(his column name status equals false), should not able to login with an error message that "Admin have disabled your account".

I have looked in,

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

but I didn't get any clue. How can I add this rule in my asp.net MVC-5 application


Solution

  • In login method of account controller i achieved it using this code.

    I updated code in my switch(result) of case SignInStatus.Success:

    case 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