public static bool Login(string username, string password) { bool IsFlg = false; MyUserDataPrincipal userData = null; if (username == "admin" && password == "123456") { userData = new MyUserDataPrincipal(); userData.UserId = Guid.Empty; userData.UserModel.Add("UserName", "admin"); userData.UserModel.Add("TelePhone", "13026209315"); userData.UserModel.Add("DepId", Guid.Empty); userData.UserModel.Add("DepName", "LCL"); IsFlg = true; } else { var repo = RF.Concrete <IUserRepository>(); var user = repo.GetBy(username, password); if (user != null) { var rolesIds = repo.GetRolesIds(user.ID); var groupIds = repo.GetGroupIds(user.ID); userData = new MyUserDataPrincipal(); userData.UserId = user.ID; userData.RoleId = rolesIds; userData.GroupId = groupIds; userData.UserModel.Add("UserName", user.Name); userData.UserModel.Add("TelePhone", user.Telephone); userData.UserModel.Add("DepId", user.Department == null ? Guid.Empty : user.Department.ID); userData.UserModel.Add("DepName", user.Department == null ? "" : user.Department.Name); IsFlg = true; } } if (IsFlg) { MyFormsAuthentication <MyUserDataPrincipal> .SetAuthCookie(username, userData, false); //保存Cookie } return(IsFlg); }
public ActionResult Login(LoginModel model, string returnUrl) { try { #region 数据验证 if (string.IsNullOrEmpty(model.UserID)) { Alter("用户名不能为空。", util.Enum.AlterTypeEnum.Warning); return(View()); } if (string.IsNullOrEmpty(model.Password)) { Alter("密码不能为空。", util.Enum.AlterTypeEnum.Warning); return(View()); } if (string.IsNullOrEmpty(model.Code)) { Alter("请输入验证码。", util.Enum.AlterTypeEnum.Warning); return(View()); } if (Check(model.Code) == false) { Alter("验证码输入错误。", util.Enum.AlterTypeEnum.Warning); return(View()); } #endregion string pwd = CryptTools.Md5(model.Password); var user = dao.GetEntity("USER_ID", model.UserID);//, "USER_PASSWORD", pwd if (user == null) { AddLoginLog(SYS_LOGINLOG.STATE_ENUM.用户不存在, model.UserID); Alter("用户不存在!", util.Enum.AlterTypeEnum.Error); ModelState.AddModelError("", "用户不存在!"); return(View()); } if (user.USER_PASSWORD != pwd) { AddLoginLog(SYS_LOGINLOG.STATE_ENUM.密码错误, model.UserID); Alter("密码错误!", util.Enum.AlterTypeEnum.Error); ModelState.AddModelError("", "密码错误!"); return(View()); } var us = new UserState(); us.UserID = user.USER_ID; us.UserName = user.USER_NAM; #region //验证成功 var userData = new MyUserDataPrincipal { UserState = us }; MyFormsAuthentication <MyUserDataPrincipal> .SetAuthCookie(us.UserName, userData, model.RememberMe); GetUserFuncsCache(us.UserID); #endregion AddLoginLog(SYS_LOGINLOG.STATE_ENUM.登录成功, model.UserID); return(Redirect("/")); } catch (Exception e) { LogHelper.ErrorLog("登录出错。", e); ModelState.AddModelError("", "登录出错。"); return(View()); } }