public AuthorizationOperationFilter() { var permissionsSelector = new PolicySelectorWithLabel <AuthorizationAttribute> { Label = "Permissions", Selector = authAttributes => authAttributes .Where(a => a.Arguments?.Length > 0) .Select(a => string.Join(",", a.Arguments.Select(e => e.ToString()))) }; _filter = new AppendAuthorizeToSummaryOperationFilter <AuthorizationAttribute>(new[] { permissionsSelector }.AsEnumerable()); }
/// <summary> /// 初始化一个<see cref="AppendAuthorizeToSummaryOperationFilter"/>类型的实例 /// </summary> public AppendAuthorizeToSummaryOperationFilter() { var policySelector = new PolicySelectorWithLabel <AuthorizeAttribute>() { Label = "policies", Selector = authAttributes => authAttributes .Where(x => !string.IsNullOrWhiteSpace(x.Policy)) .Select(x => x.Policy) }; var rolesSelector = new PolicySelectorWithLabel <AuthorizeAttribute>() { Label = "roles", Selector = authAttributes => authAttributes .Where(x => !string.IsNullOrWhiteSpace(x.Roles)) .Select(x => x.Roles) }; _filter = new AppendAuthorizeToSummaryOperationFilter <AuthorizeAttribute>(new[] { policySelector, rolesSelector }.AsEnumerable()); }