/// <summary> /// 授权验证 /// </summary> /// <param name="request">认证授权信息</param> /// <returns></returns> public static AuthorizeResult CheckAuthorization(AuthorizeOptions request) { if (request == null) { return(AuthorizeResult.ForbidResult()); } var operation = new OperationDto() { ActionCode = request.Action, ControllerCode = request.Controller }; var user = AuthenticationUser <long> .GetUserFromClaims(request.Claims?.Select(c => new Claim(c.Key, c.Value)).ToList()); var allowAccess = CheckAuthorization(user, operation); return(new AuthorizeResult() { Status = allowAccess ? AuthorizationStatus.Success : AuthorizationStatus.Forbid }); }
/// <summary> /// 授权验证 /// </summary> /// <param name="request">认证授权信息</param> /// <returns></returns> public static async Task <AuthorizeVerifyResult> AuthenticationAsync(AuthorizeVerifyRequest request) { if (request == null) { return(AuthorizeVerifyResult.ForbidResult()); } var operation = new AuthorityOperationCmdDto() { ActionCode = request.ActionCode, ControllerCode = request.ControllerCode }; var user = AuthenticationUser <long> .GetUserFromClaims(request.Claims?.Select(c => new Claim(c.Key, c.Value)).ToList()); var allowAccess = await AuthorizationAsync(user, operation).ConfigureAwait(false); return(new AuthorizeVerifyResult() { VerifyValue = allowAccess ? AuthorizeVerifyValue.Success : AuthorizeVerifyValue.Forbid }); }
/// <summary> /// 授权验证 /// </summary> /// <param name="request">认证授权信息</param> /// <returns></returns> public static VerifyAuthorizationResult Authentication(VerifyAuthorizationOption request) { if (request == null) { return(VerifyAuthorizationResult.ForbidResult()); } var operation = new AuthorityOperationCmdDto() { ActionCode = request.ActionCode, ControllerCode = request.ControllerCode }; var user = AuthenticationUser <long> .GetUserFromClaims(request.Claims?.Select(c => new Claim(c.Key, c.Value)).ToList()); var allowAccess = Authorization(user, operation); return(new VerifyAuthorizationResult() { Status = allowAccess ? AuthorizationVerificationStatus.Success : AuthorizationVerificationStatus.Forbid }); }