예제 #1
0
        public IHttpActionResult Login(LoginRequest request)
        {
            var user = _sysUserService.FirstOrDefault(a => a.UserName == request.UserName && a.Disable == (short)BaseModel.DisableEnum.Normal);

            if (user == null)
            {
                return(Fail("用户不存在"));
            }
            if (user.Password != request.Password)
            {
                return(Fail("密码错误!"));
            }
            var roles    = _sysUserService.GetRoles();
            var userInfo = new UserInfo
            {
                UserName  = user.UserName,
                Name      = user.Name,
                Avatar    = user.Avatar,
                Id        = user.Id,
                IsManager = user.IsManager,
                Mobile    = user.Mobile,
                Roles     = new int[] { 1, 2, 3, 4 },
                Expired   = DateTime.Now
            };

            using (var service = new RedisStringService())
            {
                var token = MD5Encrypt.Encrypt($"{DateTime.Now.ToString("MMdd")}{userInfo.UserName}{DateTime.Now}{Util.MicroTime()}");
                service.Set(string.Format(RedisKey.AdminToken, token), userInfo);
                return(Succeed(new LoginResponse
                {
                    UserName = user.UserName,
                    Token = token,
                    Id = user.Id,
                }));
            }
        }