コード例 #1
0
 public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
 {
     try
     {
         if (!ModelState.IsValid || model.Code==null|| !model.Code.Equals(Session["VerifyCode"].ToString(), StringComparison.OrdinalIgnoreCase))
         {
             if (!model.Code.Equals(Session["VerifyCode"].ToString(), StringComparison.OrdinalIgnoreCase))
                 ViewBag.Message = "验证码错误";
             return View(model);
         }
         // 这不会计入到为执行帐户锁定而统计的登录失败次数中
         // 若要在多次输入错误密码的情况下触发帐户锁定,请更改为 shouldLockout: true
         var result = await CheckLogin(model);
         if (model.RememberMe)
         {
             SetCookie(model.Email, model.Password);
         }
         if (result)
         {
             FormsAuthentication.SetAuthCookie(Account.Name, true);
             return RedirectToLocal(returnUrl);
         }
         ViewBag.Message = "用户名或者密码错误,请重新输入";
         //Response.Write("<script>alert('用户名或者密码错误,请重新输入')</script>");
         return View(model);
     }
     catch (Exception ex)
     {
         LogHelper.Instance.WriteError(ex, GetType(), MethodBase.GetCurrentMethod().Name);
         throw;
     }
 }
コード例 #2
0
 public ActionResult Login(string returnUrl)
 {
     ViewBag.ReturnUrl = returnUrl;
     var entity = new LoginViewModel();
     entity.Email = Request.Cookies["WoXue"] == null ? "" : Request.Cookies["WoXue"]["UserName"];
     entity.Password = Request.Cookies["WoXue"] == null ? "" : Request.Cookies["WoXue"]["Password"];
     return View(entity);
 }
コード例 #3
0
 public async Task<bool> CheckLogin(LoginViewModel model)
 {
     var account = await DataSource.Accounts.FirstOrDefaultAsync(t => t.Name == model.Email || t.Email == model.Email || t.Phone == model.Email);
     if (account == null) return false;
     var password = UntilHelper.GetMd5HashCode(model.Password + account.Salt);
     if (password == account.Password)
     {
         Config.SaveUserId(account.Id);
         return true;
     }
     return false;
 }