示例#1
0
        public async Task <ApiResult <TokenEntity> > Login(LoginModel model)
        {
            if (!ModelState.IsValid)
            {
                return(ApiResultUtil.Fail <TokenEntity>("数据不合法!"));
            }
            var userName = model.UserName;
            var password = model.Password;

            try
            {
                var user = await _userService.LoginAsync(userName, password);

                if (user == null)
                {
                    return(ApiResultUtil.Fail <TokenEntity>("用户名或密码不正确!"));
                }
                var tp    = TokenUtil.GetProvider();
                var token = tp.GenerateToken(user);

                return(ApiResultUtil.Success(token));
            }
            catch (Exception ex)
            {
                _logger.LogError(0, ex, "登录失败:" + ApiResultUtil.GetMessage(ex));
                return(ApiResultUtil.Fail <TokenEntity>("登录失败!"));
            }
        }
示例#2
0
        public async Task <ApiResult <UserDto> > GetUserInfo()
        {
            var identity = User.Identity as ClaimsIdentity;

            if (identity == null)
            {
                return(ApiResultUtil.Fail <UserDto>("无法获取Identity信息!"));
            }
            var userIdClaim = identity.Claims.FirstOrDefault(c => c.Type == JwtRegisteredClaimNames.Prn);

            if (userIdClaim == null)
            {
                return(ApiResultUtil.Fail <UserDto>("无法获取Identity信息"));
            }
            try
            {
                var user = await _userService.GetInfoAsync(userIdClaim.Value);

                return(ApiResultUtil.Success(user));
            }
            catch (Exception ex)
            {
                _logger.LogError(0, ex, "获取用户信息失败:" + ApiResultUtil.GetMessage(ex));
                return(ApiResultUtil.Fail <UserDto>("获取用户信息失败!"));
            }
        }
示例#3
0
        public async Task <ApiResult> UpdateUserInfo(UserInfoModel model)
        {
            var identity = User.Identity as ClaimsIdentity;

            if (identity == null)
            {
                return(ApiResultUtil.Fail <UserDto>("无法获取Identity信息!"));
            }
            var userIdClaim = identity.Claims.FirstOrDefault(c => c.Type == JwtRegisteredClaimNames.Prn);

            if (userIdClaim == null)
            {
                return(ApiResultUtil.Fail <UserDto>("无法获取Identity信息"));
            }

            var userId = userIdClaim.Value;

            try
            {
                await _userService.UpdateInfoAsync(userId, model);

                return(ApiResultUtil.Success());
            }
            catch (Exception ex)
            {
                _logger.LogError(0, ex, "更新用户信息失败:" + ApiResultUtil.GetMessage(ex));
                return(ApiResultUtil.Fail <TokenEntity>("更新用户信息失败!"));
            }
        }
示例#4
0
        public async Task <ApiResult> Register(RegisterModel model)
        {
            if (!ModelState.IsValid)
            {
                return(ApiResultUtil.Fail("数据不合法!"));
            }
            try
            {
                await _userService.RegisterAsync(model);

                return(ApiResultUtil.Success());
            }
            catch (Exception ex)
            {
                _logger.LogError(0, ex, "注册失败:" + ApiResultUtil.GetMessage(ex));
                return(ApiResultUtil.Fail("注册失败!"));
            }
        }