Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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());
            }
        }