public async Task <IActionResult> Login([FromBody] LoginRequest loginRequest) { var userInfo = await _userBusiness.GetUserByUserName(loginRequest.UserName, loginRequest.Password); if (userInfo == null) { return(BadRequest(new { Msg = "Username or password is incorrect!" })); } //用户被禁用 if (!userInfo.IsActive) { return(BadRequest(new { Msg = "User is disabled, please contact administrator!" })); } var claims = new List <Claim> { new Claim(ClaimTypes.Sid, userInfo.Id.ToString().ToEncrypted()), new Claim(ClaimTypes.NameIdentifier, userInfo.UserName), new Claim(ClaimTypes.Role, Enum.Parse(typeof(RoleDesc), userInfo.Role.ToString()).ToString()) }; var token = _jwtHelper.CreateAccessToken(claims); return(Ok(new { AccessToken = token, Expires = TimeSpan.FromDays(1).Days, UserName = userInfo.UserName })); }