Exemplo n.º 1
0
        public AjaxResult <WebSysManager> DoLogin(string LoginName, string Password, string VerCode)
        {
            if (string.IsNullOrEmpty(LoginName))
            {
                return(new AjaxResult <WebSysManager>("请输入登录账号"));
            }
            if (string.IsNullOrEmpty(Password))
            {
                return(new AjaxResult <WebSysManager>("请输入登录密码"));
            }
            if (string.IsNullOrEmpty(VerCode))
            {
                return(new AjaxResult <WebSysManager>("请输入登录验证码"));
            }
            //检查验证码
            if (!verifyCode.CheckVerifyCode(VerCode))
            {
                return(new AjaxResult <WebSysManager>("验证码错误"));
            }
            var sysUser = GetAccountByName(LoginName);

            if (sysUser == null)
            {
                return(new AjaxResult <WebSysManager>("登录账号无效"));
            }

            if (sysUser.ManagerPwd != Encrypt.MD5Encrypt(Password + sysUser.ManagerScal))
            {
                return(new AjaxResult <WebSysManager>("登陆密码错误"));
            }
            if (sysUser.ManagerStatus == 0)
            {
                return(new AjaxResult <WebSysManager>("禁用"));
            }
            DateTime dtNow = DateTime.Now;

            sysUser.LastLoginTime = dtNow;
            sysUser.CurToken      = Encrypt.MD5Encrypt(Guid.NewGuid().ToString());
            db.SaveChanges();
            sysUser.ManagerPwd  = "";
            sysUser.ManagerScal = "";


            var cookieInfo = new AdminCookieInfo()
            {
                ManagerAccount = sysUser.ManagerName,
                LastLoginTime  = dtNow,
                LoginToken     = sysUser.CurToken,
                ManagerId      = sysUser.ManagerId,
            };
            SysManager manager = new SysManager()
            {
                IsSupper        = sysUser.IsSupper,
                ManagerId       = sysUser.ManagerId,
                ManagerName     = sysUser.ManagerName,
                ManagerRealname = sysUser.ManagerRealname
            };

            SysLogin.SetCurAccount(manager);

            #region 权限页面内容写入
            List <WebSysMenuPage> autoPages = GetAuthPages(manager);
            List <SysMenuPage>    pages     = autoPages.Select(s => new SysMenuPage()
            {
                MenuId       = s.MenuId,
                PageBtnname  = s.PageBtnname,
                PageId       = s.PageId,
                PageName     = s.PageName,
                PageUrl      = s.PageUrl,
                PageViewname = s.PageViewname
            }).ToList();
            SysLogin.SetCurMenuPages(pages);
            #endregion
            HttpContextAccessor.HttpContext.Response.Cookies.Append(ALLKeys.C_ADMINUSER,
                                                                    Newtonsoft.Json.JsonConvert.SerializeObject(cookieInfo),
                                                                    new CookieOptions()
            {
                Expires = DateTime.Now.AddHours(8)
            });
            return(new AjaxResult <WebSysManager>(sysUser));
        }