public async Task <IActionResult> UserLogin(string username, string password) { if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password)) { return(Content("empty")); } password = Common.Security.MD5Security.MD5Hash(password); var listUsers = _userService.GetList(username, password); if (listUsers.Count > 0) { #region 登陆时创建身份Cookie var claims = new List <Claim> { new Claim(ClaimTypes.PrimarySid, listUsers[0].UserID.ToString()), new Claim(ClaimTypes.Name, username) }; ClaimsPrincipal principal = new ClaimsPrincipal(new ClaimsIdentity(claims, "SuperSecureLogin")); await HttpContext.SignInAsync("MyCookieAuthenticationScheme", principal, new AuthenticationProperties() { ExpiresUtc = DateTime.UtcNow.AddMinutes(10), IsPersistent = false, AllowRefresh = false }); #endregion //HttpContext.Session.SetInt32("userid", listUsers[0].UserID); //HttpContext.Session.SetString("username", username); return(RedirectToAction("Index", "Home")); } return(Content("error")); }
public ActionResult Edit(int id) { ViewBag.UploadFileSize = ConfigUtils.GetValue("UploadFileByImgSize"); ViewBag.UploadFileType = ConfigUtils.GetValue("UploadFileByImgType"); var entity = SysUserService.GetList(x => x.Id == id).FirstOrDefault(); ViewBag.RoleSelectList = RoleSelectList; var viewModel = entity.EntityMap(); if (viewModel.SysRoles.Count != 0) { viewModel.RoleIds = string.Join(",", viewModel.SysRoles.Select(x => x.Id.ToString()).ToArray()); } return(View(viewModel)); }
public ActionResult Edit(int id, SysUserViewModel viewModel) { if (ModelState.IsValid == false) { return(WriteError("实体验证失败")); } var user = SysUserService.GetList(x => x.UserName == viewModel.UserName && x.Id != id).FirstOrDefault(); if (user != null) { return(WriteError("该账号已存在")); } //获取角色 var roleList = new List <SysRole>(); if (!string.IsNullOrEmpty(viewModel.RoleIds)) { var RoleIdsArray = Array.ConvertAll(viewModel.RoleIds.Split(','), s => int.Parse(s)); roleList = SysRoleService.GetList(x => RoleIdsArray.Contains(x.Id)).ToList(); } //赋值 var entity = SysUserService.GetList(x => x.Id == id).FirstOrDefault(); entity.SysRoles.Clear(); foreach (var item in roleList) { entity.SysRoles.Add(item); } entity.UserName = viewModel.UserName; entity.NickName = viewModel.NickName; entity.HeadIcon = viewModel.HeadIcon; entity.MobilePhone = viewModel.MobilePhone; entity.Email = viewModel.Email; entity.EnabledMark = (int)viewModel.EnabledMark; entity.MobilePhone = viewModel.MobilePhone; entity.Email = viewModel.Email; entity.UpdateTime = DateTime.Now; entity.UpdateUserId = UserManager.GetCurrentUserInfo().Id; SysUserService.Update(entity); return(WriteSuccess()); }
public ActionResult Create(SysUserViewModel viewModel) { try { if (ModelState.IsValid == false) { return(WriteError("实体验证失败")); } var user = SysUserService.GetList(x => x.UserName == viewModel.UserName).FirstOrDefault(); if (user != null) { return(WriteError("该账号已存在")); } string salt = VerifyCodeUtils.CreateVerifyCode(5); string passwordHash = Md5Utils.EncryptTo32(salt + ConfigUtils.GetValue("InitUserPwd")); SysUser entity = viewModel.EntityMap(); entity.CreateUserId = UserManager.GetCurrentUserInfo().Id; entity.UpdateUserId = UserManager.GetCurrentUserInfo().Id; entity.CreateTime = DateTime.Now; entity.UpdateTime = DateTime.Now; entity.PasswordSalt = salt; entity.PasswordHash = passwordHash; if (!string.IsNullOrEmpty(viewModel.RoleIds)) { var RoleIdsArray = Array.ConvertAll(viewModel.RoleIds.Split(','), s => int.Parse(s)); var roleList = SysRoleService.GetList(x => RoleIdsArray.Contains(x.Id)).ToList(); entity.SysRoles = roleList; } SysUserService.Add(entity); return(WriteSuccess()); } catch (Exception ex) { return(WriteError(ex)); } }
public IActionResult Index(string oldpassword, string newpwd1, string newpwd2) { if (!User.Identity.IsAuthenticated) { return(MsgContent("未找到该用户,请联系管理员!")); } if (string.IsNullOrEmpty(oldpassword) || string.IsNullOrEmpty(newpwd1) || string.IsNullOrEmpty(newpwd2)) { return(MsgContent("请把修改密码信息填写完整!")); } if (newpwd1 != newpwd2) { return(MsgContent("二次密码输入不相同!")); } oldpassword = Common.Security.MD5Security.MD5Hash(oldpassword); int userid = int.Parse(User.Identities.First(u => u.IsAuthenticated).FindFirst(ClaimTypes.PrimarySid).Value); string username = User.Identities.First(u => u.IsAuthenticated).FindFirst(ClaimTypes.Name).Value; var list = _userService.GetList(username, oldpassword); if (list == null || list.Count <= 0) { return(MsgContent("原密码错误!")); } bool isSuccess = _userService.Update(new T_SYS_USER() { UserID = userid, Password = Common.Security.MD5Security.MD5Hash(newpwd1) }); if (isSuccess) { return(Content("<script>alert('修改密码成功!');parent.location.href='/Admin/Login'</script>", "text/html")); } return(MsgContent("密码修改失败!")); }
public ActionResult Login(LoginViewModel loginViewModel) { try { if (!ModelState.IsValid) { return(WriteError("实体验证失败")); } if (loginViewModel.VerifyCode.ToLower() != (string)TempData["verifyCode"]) { return(WriteError("验证码失败")); } bool result = SysUserService.CheckLogin(loginViewModel.LoginName, loginViewModel.LoginPassword); if (result) { var user = SysUserService.GetList(x => x.UserName == loginViewModel.LoginName).FirstOrDefault(); string userLoginId = Guid.NewGuid().ToString(); if (loginViewModel.IsMember) { List <string> list = new List <string> { userLoginId, "0" }; CookieHelper.Set(KeyManager.IsMember, DESUtils.Encrypt(list.ToJson())); CacheManager.Set(userLoginId, user, new TimeSpan(10, 0, 0, 0)); } else { CookieHelper.Remove(KeyManager.IsMember); List <string> list = new List <string> { userLoginId, "1" }; CookieHelper.Set(KeyManager.IsMember, DESUtils.Encrypt(list.ToJson()), 30); CacheManager.Set(userLoginId, user, new TimeSpan(0, 30, 0)); } SysLogLogonService.WriteDbLog(new SysLogLogon { LogType = DbLogType.Login.ToString(), Account = user.UserName, RealName = user.NickName, Description = "登陆成功", }); return(WriteSuccess("登录成功")); } else { return(WriteError("用户名或者密码错误")); } } catch (Exception ex) { SysLogLogonService.WriteDbLog(new SysLogLogon { LogType = DbLogType.Exception.ToString(), Account = loginViewModel.LoginName, RealName = loginViewModel.LoginName, Description = "登录失败," + ex.Message }); return(WriteError(ex)); } }