Asp.net mvc 4 SimpleMembership通过登录获取自定义列值

Asp.net mvc 4 SimpleMembership通过登录获取自定义列值,asp.net-mvc-4,simplemembership,Asp.net Mvc 4,Simplemembership,我自定义了UserProfile表,并添加了名为IsActive的新列。它可以很好地进行注册。 现在我想在登录之前获取自定义列IsActive的值 WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe) 需要这些场景吗 检查用户名和密码是否有效 如果登录有效,则检查用户是否处于活动状态 如果用户未处于活动状态,则不应登录 有什么想法吗 这只是我的想法,没有经过测试,所以它可能不是100

我自定义了
UserProfile
表,并添加了名为
IsActive
的新列。它可以很好地进行注册。 现在我想在登录之前获取自定义列
IsActive
的值

WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)
需要这些场景吗

  • 检查用户名和密码是否有效
  • 如果登录有效,则检查用户是否处于活动状态
  • 如果用户未处于活动状态,则不应登录

  • 有什么想法吗

    这只是我的想法,没有经过测试,所以它可能不是100%正确,但它应该让你朝着正确的方向前进

    public ActionResult Login(LoginModel model)
    {
        using(var db = new MyDbContext())
        {
            try
            {
                var user = db.UserProfile.FirstOrDefault(x => x.UserName == model.UserName);
                if(user != null)
                {   
                    if(user.IsActive == true)
                    {
                        if(ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
                        {
                            try
                            {
                                return View("SomeView");
                            }
                            catch(Exception e)
                            {
                                // handle exception
                            }
                        }
                    }
                    else
                    {
                        return View("SomeView");
                    }
                }
            }
            catch(Exception e)
            {
                // handle exception
            }
        }
        return View("SomeView");
    }
    

    没问题,很高兴有帮助。