public async Task <IActionResult> LoginPost(Users user) { int ExpiresUtc = Request.Form["remeber"].ToString() == "on" ? 7 : 1; //验证模型的数据验证是否通过 if (ModelState.IsValid) { var pwd = MD5Extension.PassEncrypt(user.password); var User = await ums.GetUserByUserNameAsync(user.username); if (User != null && User.password == pwd) { //添加cookies ClaimsIdentity identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme); identity.AddClaim(new Claim(ClaimTypes.Name, user.username)); //设置有效期 await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(identity), new AuthenticationProperties { // 持久保存 IsPersistent = true, ExpiresUtc = DateTime.UtcNow.AddDays(ExpiresUtc) }); Alert.Content = "欢迎回来"; Alert.Level = Models.AlertModel.AlertType.Success; return(RedirectToAction(nameof(Index))); } } Alert.Content = "登录失败,请检查登录名/密码"; Alert.Level = Models.AlertModel.AlertType.Danger; return(RedirectToAction(nameof(Login))); }
private void AddDefaultData() { int optionscount = _project3Context.Options.Count(); if (optionscount > 0) { return; } //添加管理员用户 var adminuser = new Users(); adminuser.username = "******"; adminuser.password = MD5Extension.PassEncrypt("admin"); _project3Context.Users.Add(adminuser); //添加默认设置 var data = new OptionsModel(); Type t = data.GetType(); foreach (var pi in t.GetProperties()) { object value = pi.GetValue(data); string name = pi.Name; var option = new Options(); option.name = name; option.value = value != null?value.ToString() : ""; _project3Context.Options.Add(option); } _project3Context.SaveChanges(); }
public async Task <IActionResult> UserSettingPost(Users postuser, string repassword, string checkpassword) { Alert.Level = Models.AlertModel.AlertType.Danger; Alert.Content = "更新设置失败"; var users = await ums.GetUserByUserNameAsync(User.Identity.Name); if (users == null) { Alert.Content = "身份验证失败"; } else if (string.IsNullOrEmpty(checkpassword)) { Alert.Content = "请输入当前密码"; } else if (postuser.password != repassword) { Alert.Content = "两次密码输入不一致"; } else if (users.password != MD5Extension.PassEncrypt(checkpassword)) { Alert.Content = "验证当前密码失败"; } else { users.username = postuser.username; if (!string.IsNullOrEmpty(repassword)) { users.password = MD5Extension.PassEncrypt(postuser.password); } await ums.UpdateAsync(users); Alert.Content = "用户设置已更新"; Alert.Level = Models.AlertModel.AlertType.Success; ClaimsIdentity identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme); identity.AddClaim(new Claim(ClaimTypes.Name, postuser.username)); //设置有效期 await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(identity)); } return(RedirectToAction(nameof(UserSetting))); }