Example #1
0
        /// <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
            });
        }
Example #2
0
        /// <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
            });
        }
Example #3
0
        /// <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
            });
        }