Ejemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="GetEntityByKeyAuthorizationDecorator{T}"/> class.
 /// </summary>
 /// <param name="next">The decorated instance for which authorization is being performed.</param>
 /// <param name="authorizationContextProvider">Provides access to the authorization context, such as the resource and action.</param>
 /// <param name="authorizationFilteringProvider"></param>
 /// <param name="authorizationFilterDefinitionProvider"></param>
 /// <param name="explicitObjectValidators"></param>
 /// <param name="authorizationBasisMetadataSelector"></param>
 /// <param name="securityRepository"></param>
 /// <param name="sessionFactory"></param>
 /// <param name="apiKeyContextProvider"></param>
 /// <param name="viewBasedSingleItemAuthorizationQuerySupport"></param>
 public GetEntityByKeyAuthorizationDecorator(
     IGetEntityByKey <T> next,
     IAuthorizationContextProvider authorizationContextProvider,
     IAuthorizationFilteringProvider authorizationFilteringProvider,
     IAuthorizationFilterDefinitionProvider authorizationFilterDefinitionProvider,
     IExplicitObjectValidator[] explicitObjectValidators,
     IAuthorizationBasisMetadataSelector authorizationBasisMetadataSelector,
     ISecurityRepository securityRepository,
     ISessionFactory sessionFactory,
     IApiKeyContextProvider apiKeyContextProvider,
     IViewBasedSingleItemAuthorizationQuerySupport viewBasedSingleItemAuthorizationQuerySupport)
     : base(
         authorizationContextProvider,
         authorizationFilteringProvider,
         authorizationFilterDefinitionProvider,
         explicitObjectValidators,
         authorizationBasisMetadataSelector,
         securityRepository,
         sessionFactory,
         apiKeyContextProvider,
         viewBasedSingleItemAuthorizationQuerySupport)
 {
     _next = next;
     _viewBasedSingleItemAuthorizationQuerySupport = viewBasedSingleItemAuthorizationQuerySupport;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="OwnershipInitializationCreateEntityDecorator{T}"/> class.
 /// </summary>
 /// <param name="next">The decorated instance for which authorization is being performed.</param>
 /// <param name="authorizationContextProvider">Provides access to the authorization context, such as the resource and action.</param>
 /// <param name="authorizationFilteringProvider">The component capable of authorizing the request, given necessary context.</param>
 /// <param name="authorizationFilterDefinitionProvider"></param>
 /// <param name="explicitObjectValidators"></param>
 /// <param name="authorizationBasisMetadataSelector"></param>
 /// <param name="securityRepository"></param>
 /// <param name="sessionFactory"></param>
 /// <param name="apiKeyContextProvider"></param>
 /// <param name="viewBasedSingleItemAuthorizationQuerySupport"></param>
 public OwnershipInitializationCreateEntityDecorator(
     ICreateEntity <T> next,
     IAuthorizationContextProvider authorizationContextProvider,
     IAuthorizationFilteringProvider authorizationFilteringProvider,
     IAuthorizationFilterDefinitionProvider authorizationFilterDefinitionProvider,
     IExplicitObjectValidator[] explicitObjectValidators,
     IAuthorizationBasisMetadataSelector authorizationBasisMetadataSelector,
     ISecurityRepository securityRepository,
     ISessionFactory sessionFactory,
     IApiKeyContextProvider apiKeyContextProvider,
     IViewBasedSingleItemAuthorizationQuerySupport viewBasedSingleItemAuthorizationQuerySupport)
     : base(
         authorizationContextProvider,
         authorizationFilteringProvider,
         authorizationFilterDefinitionProvider,
         explicitObjectValidators,
         authorizationBasisMetadataSelector,
         securityRepository,
         sessionFactory,
         apiKeyContextProvider,
         viewBasedSingleItemAuthorizationQuerySupport)
 {
     _next = Preconditions.ThrowIfNull(next, nameof(next));
     _apiKeyContextProvider = Preconditions.ThrowIfNull(apiKeyContextProvider, nameof(apiKeyContextProvider));
 }
        protected RepositoryOperationAuthorizationDecoratorBase(
            IAuthorizationContextProvider authorizationContextProvider,
            IAuthorizationFilteringProvider authorizationFilteringProvider,
            IAuthorizationFilterDefinitionProvider authorizationFilterDefinitionProvider,
            IExplicitObjectValidator[] explicitObjectValidators,
            IAuthorizationBasisMetadataSelector authorizationBasisMetadataSelector,
            ISecurityRepository securityRepository,
            ISessionFactory sessionFactory,
            IApiKeyContextProvider apiKeyContextProvider,
            IViewBasedSingleItemAuthorizationQuerySupport viewBasedSingleItemAuthorizationQuerySupport)
        {
            _authorizationContextProvider          = authorizationContextProvider;
            _authorizationFilteringProvider        = authorizationFilteringProvider;
            _authorizationFilterDefinitionProvider = authorizationFilterDefinitionProvider;
            _explicitObjectValidators           = explicitObjectValidators;
            _authorizationBasisMetadataSelector = authorizationBasisMetadataSelector;
            _sessionFactory        = sessionFactory;
            _apiKeyContextProvider = apiKeyContextProvider;
            _viewBasedSingleItemAuthorizationQuerySupport = viewBasedSingleItemAuthorizationQuerySupport;

            // Lazy initialization
            _bitValuesByAction = new Lazy <Dictionary <string, Actions> >(
                () => new Dictionary <string, Actions>
            {
                { securityRepository.GetActionByName("Create").ActionUri, Actions.Create },
                { securityRepository.GetActionByName("Read").ActionUri, Actions.Read },
                { securityRepository.GetActionByName("Update").ActionUri, Actions.Update },
                { securityRepository.GetActionByName("Delete").ActionUri, Actions.Delete }
            });
        }
 public HqlBuilderAuthorizationDecorator(
     ICompositeItemBuilder <HqlBuilderContext, CompositeQuery> next,
     IAuthorizationFilteringProvider authorizationFilteringProvider,
     IAuthorizationFilterDefinitionProvider authorizationFilterDefinitionProvider,
     IResourceClaimUriProvider resourceClaimUriProvider,
     IAuthorizationBasisMetadataSelector authorizationBasisMetadataSelector,
     IApiKeyContextProvider apiKeyContextProvider)
 {
     _next = Preconditions.ThrowIfNull(next, nameof(next));
     _authorizationFilteringProvider        = Preconditions.ThrowIfNull(authorizationFilteringProvider, nameof(authorizationFilteringProvider));
     _authorizationFilterDefinitionProvider = Preconditions.ThrowIfNull(authorizationFilterDefinitionProvider, nameof(authorizationFilterDefinitionProvider));
     _resourceClaimUriProvider           = Preconditions.ThrowIfNull(resourceClaimUriProvider, nameof(resourceClaimUriProvider));
     _authorizationBasisMetadataSelector = authorizationBasisMetadataSelector;
     _apiKeyContextProvider = apiKeyContextProvider;
 }