在asp中使用Forms身份验证对用户进行身份验证

时间:2014-12-29 13:00:48

标签: c# asp.net visual-studio-2013 forms-authentication

我正在使用mvc,在我的控制器中我有以下代码:

 [HttpPost]
    public ActionResult LogOn(LoginViewModel model, string password)
    {
        if (ModelState.IsValid)
        {
            if (new BAUser().GetUserbyUsername(model.UserName) != null)
            {
                UserTable u = new UserTable();
                u = new BAUser().GetUserbyUsername(model.UserName);

                if (u.Password == model.Password)
                {
                    FormsAuthentication.Authenticate(u.Username, u.Password);
                    FormsAuthentication.SetAuthCookie(u.Username, false);
                    Session["LoggedUser"] = u;
                    **if(Request.IsAuthenticated == true)
                    {
                        UserTable user = u;
                    }**
                    return RedirectToAction("Index", "Home");                    }

            }
            else
            {
                ModelState.AddModelError("", "The user name or password provided is incorrect.");
            }
        }

        // If we got this far, something failed, redisplay form
        return View(model);
    }

使用**的if语句只是为了使用断点进行测试,无论请求是否经过身份验证。但是,身份验证过程似乎不起作用。有什么我做错了吗?我正在使用VS 2013

我找到了使用会话的解决方法,但是如果有人找到解决方法,请告诉我。

0 个答案:

没有答案