public async Task <IActionResult> UserLogin(TRequest <UserLoginRequest> request) { if (request == null) { return(NotFound()); } var response = new Response <UserLoginResponse>(); try { request.value.Password = request.value.Password.AsMd5(); var data = await _userService.GetByUserName(request.value.UserName); if (data == null) { response.Success = false; response.Message = "Tên đăng nhập không tồn tại"; return(Ok(response)); } if (data.Password != request.value.Password) { response.Success = false; response.Message = "Mật khẩu không đúng"; return(Ok(response)); } if (data.Deleted.Value) { response.Success = false; response.Message = "Tài khoản đã bị xóa"; return(Ok(response)); } if (data.Status != 1) { response.Success = false; response.Message = "Tài khoản đã bị khóa"; return(Ok(response)); } HttpContext.Session.SetObjectAsJson("User", data); var deparmentId = HttpContext.Session.GetObjectFromJson <User>("User"); var currentDateTime = DateTime.Now; var input = $"{data.Id};{data.UserName};{data.IsRoot};{currentDateTime};"; var accessToken = input.AsSha256(); var permission = await _functionService.GetActionByUserId(data.Id); response.Data = new UserLoginResponse { User = data, AccessToken = accessToken, rights = permission.Select(c => c.Code).ToList() }; response.Success = true; } catch (Exception ex) { response.Success = false; response.Message = ex.Message + "," + ex.InnerException; } return(Ok(response)); }