Beispiel #1
0
 /// <summary>
 /// 转化为对应的User对象
 /// </summary>
 /// <returns></returns>
 public User ConvertToUser()
 {
     return(new User
     {
         UserName = LoginUserName,
         UserPasswd = MD5PWD.GetMD5PWD(LoginUserPW)
     });
 }
Beispiel #2
0
        /// <summary>
        /// 转换为对应的User对象
        /// </summary>
        /// <returns></returns>
        public User InitAddUser()
        {
            User entity = this as User;

            entity.UserGroupID = 1;
            entity.UserPasswd  = MD5PWD.GetMD5PWD(entity.UserPasswd);
            entity.IsChecked   = false;
            entity.Changer     = entity.Creater = -1;
            entity.CreateTime  = entity.ChangeTime = DateTime.Now;

            return(entity);
        }
Beispiel #3
0
        /// <summary>
        /// 用户初始化
        /// </summary>
        /// <returns></returns>
        public ActionResult UserInit()
        {
            string result = string.Empty;

            var userGroupDB = new DbEntities <UserGroup>().SimpleClient;

            //没有用户组则创建“ROOT”用户组
            if (userGroupDB.GetList().Count == 0)
            {
                UserGroup userGroup = new UserGroup
                {
                    UserGroupID    = 0,
                    UserGroupName  = "超级用户",
                    UserGroupNo    = "ROOT",
                    UserGroupClass = 0,
                    UserGroupDesc  = "系统初始化生成的超级用户",
                    CreateTime     = DateTime.Now
                };

                result += userGroupDB.Insert(userGroup) ? "超级用户组创建完成。\n" : "超级用户组创建失败。\n";
            }
            else
            {
                result += "超级用户组已存在。\n";
            }

            //创建用户
            var userDB = new DbEntities <User>().SimpleClient;

            if (userDB.GetList().Count == 0)
            {
                User user = new User
                {
                    UserID      = 0,
                    UserGroupID = 0,
                    UserName    = "******",
                    UserNo      = "XgHao",
                    UserPasswd  = MD5PWD.GetMD5PWD("root"),
                    Creater     = 0,
                    IsChecked   = true,
                    CreateTime  = DateTime.Now
                };
                result += userDB.Insert(user) ? "初始用户创建成功。\n" : "初始用户创建失败。\n";
            }
            else
            {
                result += "初始用户已存在。\n";
            }

            return(View(result as object));
        }
Beispiel #4
0
        public ActionResult Login(LoginViewModel model)
        {
            //验证模型
            if (ModelState.IsValid)
            {
                //查询
                var user = new DbEntities <User>().SimpleClient.GetList().Where(u => u.UserName == model.LoginUserName && u.UserPasswd == MD5PWD.GetMD5PWD(model.LoginUserPW)).FirstOrDefault();

                if (user != null)
                {
                    //该用户是否经过审核
                    if (user.IsChecked)
                    {
                        //清空Cookie
                        ClearCookie();

                        //根据当前用户的id获取用户所在用户组的级别--用于判断是否有权限访问
                        var userGroup = new DbEntities <UserGroup>().SimpleClient.GetById(user.UserGroupID);

                        if (userGroup != null)
                        {
                            //生成用户验证信息模型
                            IdentityInfoModel infoModel = new IdentityInfoModel
                            {
                                CurUserID         = user.UserID,
                                CurUserGroupID    = userGroup.UserGroupID,
                                CurUserGroupClass = (int)userGroup.UserGroupClass
                            };

                            //初始化凭据-为forms提供用户身份的票证,有效期六个小时
                            FormsAuthenticationTicket authenticationTicket = new FormsAuthenticationTicket(1, model.LoginUserName, DateTime.Now, DateTime.Now.AddHours(6), false, new JavaScriptSerializer().Serialize(infoModel));

                            //加密该用户凭证
                            string encryptedTicket = FormsAuthentication.Encrypt(authenticationTicket);

                            //保存在Cookie中
                            HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                            HttpContext.Response.Cookies.Add(authCookie);

                            //重定向到主页
                            return(RedirectToAction("Index", "Home", new { area = "" }));
                        }
                    }
                    else
                    {
                        //该用户未被审核-添加错误信息
                        ModelState.AddModelError("LoginUserName", $"用户{model.LoginUserName}为经过审核");
                    }
                }
                else
                {
                    //找不到该用户信息-添加错误信息
                    ModelState.AddModelError("LoginUserPW", "用户名不存在或密码错误");
                }
            }
            return(View(model));
        }