Ejemplo n.º 1
0
 protected RepositoryOperationAuthorizationDecoratorBase(
     IAuthorizationContextProvider authorizationContextProvider,
     IEdFiAuthorizationProvider authorizationProvider)
 {
     _authorizationContextProvider = authorizationContextProvider;
     _authorizationProvider        = authorizationProvider;
 }
 /// <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 }
            });
        }
Ejemplo n.º 4
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;
 }
Ejemplo n.º 5
0
 public SetAuthorizationContextForPut(
     IAuthorizationContextProvider authorizationContextProvider,
     ISecurityRepository securityRepository,
     IResourceClaimUriProvider resourceClaimUriProvider)
     : base(authorizationContextProvider, securityRepository, resourceClaimUriProvider)
 {
 }
Ejemplo n.º 6
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="authorizationProvider">The component capable of authorizing the request, given necessary context.</param>
 public GetEntityByKeyAuthorizationDecorator(
     IGetEntityByKey <T> next,
     IAuthorizationContextProvider authorizationContextProvider,
     IEdFiAuthorizationProvider authorizationProvider)
     : base(authorizationContextProvider, authorizationProvider)
 {
     _next = next;
 }
Ejemplo n.º 7
0
 protected SetAuthorizationContextBase(
     IAuthorizationContextProvider authorizationContextProvider,
     ISecurityRepository securityRepository,
     IResourceClaimUriProvider resourceClaimUriProvider)
 {
     AuthorizationContextProvider = Preconditions.ThrowIfNull(authorizationContextProvider, nameof(authorizationContextProvider));
     SecurityRepository           = Preconditions.ThrowIfNull(securityRepository, nameof(securityRepository));
     ResourceClaimUriProvider     = Preconditions.ThrowIfNull(resourceClaimUriProvider, nameof(resourceClaimUriProvider));
 }
Ejemplo n.º 8
0
 public ImpersonationAuthorizationContext(HttpContextBase httpContext,
                                          IAuthorizationContextProvider authorizationContextProvider,
                                          IEmployerAccountTeamRepository employerAccountTeamRepository, IUserContext userContext)
 {
     _httpContext = httpContext;
     _authorizationContextProvider  = authorizationContextProvider;
     _employerAccountTeamRepository = employerAccountTeamRepository;
     _userContext = userContext;
 }
Ejemplo n.º 9
0
 public void TestInitialize()
 {
     directory                    = new ActiveDirectory();
     cache                        = new AuthorizationInformationMemoryCache();
     logger                       = Global.LogFactory.CreateLogger <AuthorizationInformationBuilder>();
     powershell                   = Mock.Of <IPowerShellSecurityDescriptorGenerator>();
     targetDataProvider           = new TargetDataProvider(new TargetDataCache(), Global.LogFactory.CreateLogger <TargetDataProvider>());
     authorizationContextProvider = new AuthorizationContextProvider(Mock.Of <IOptions <AuthorizationOptions> >(), directory, Global.LogFactory.CreateLogger <AuthorizationContextProvider>());
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CreateEntityAuthorizationDecorator{T}"/> class.
 /// </summary>
 /// <param name="next">The decorated instance for which authorization is being performed.</param>
 /// <param name="securityRepository">Provides access to the repository where the claims/actions are stored.</param>
 /// <param name="authorizationContextProvider">Provides access to the authorization context, such as the resource and action.</param>
 /// <param name="authorizationProvider">The component capable of authorizing the request, given necessary context.</param>
 public CreateEntityAuthorizationDecorator(
     ICreateEntity <T> next,
     ISecurityRepository securityRepository,
     IAuthorizationContextProvider authorizationContextProvider,
     IEdFiAuthorizationProvider authorizationProvider)
     : base(authorizationContextProvider, authorizationProvider)
 {
     _next = next;
     _securityRepository = securityRepository;
 }
Ejemplo n.º 11
0
 /// <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="apiKeyContext"></param>
 /// <param name="authorizationContextProvider">Provides access to the authorization context, such as the resource and action.</param>
 /// <param name="authorizationProvider">The component capable of authorizing the request, given necessary context.</param>
 public OwnershipInitializationCreateEntityDecorator(
     ICreateEntity <T> next,
     IApiKeyContextProvider apiKeyContext,
     IAuthorizationContextProvider authorizationContextProvider,
     IEdFiAuthorizationProvider authorizationProvider)
     : base(authorizationContextProvider, authorizationProvider)
 {
     _next          = Preconditions.ThrowIfNull(next, nameof(next));
     _apiKeyContext = Preconditions.ThrowIfNull(apiKeyContext, nameof(apiKeyContext));
 }
 public AuthorizationInformationBuilder(IOptionsSnapshot <AuthorizationOptions> options, IDirectory directory, ILogger <AuthorizationInformationBuilder> logger, IPowerShellSecurityDescriptorGenerator powershell, IAuthorizationInformationMemoryCache authzCache, ITargetDataProvider targetDataProvider, IAuthorizationContextProvider authorizationContextProvider)
 {
     this.directory                    = directory;
     this.logger                       = logger;
     this.options                      = options.Value;
     this.powershell                   = powershell;
     this.authzCache                   = authzCache;
     this.targetDataProvider           = targetDataProvider;
     this.authorizationContextProvider = authorizationContextProvider;
 }
Ejemplo n.º 13
0
 public AuthorizationInformationBuilder(IOptionsSnapshot <AuthorizationOptions> options, ILogger <AuthorizationInformationBuilder> logger, IPowerShellSecurityDescriptorGenerator powershell, IAuthorizationInformationMemoryCache authzCache, IComputerTargetProvider computerTargetProvider, IAuthorizationContextProvider authorizationContextProvider, IAmsLicenseManager licenseManager)
 {
     this.logger                       = logger;
     this.options                      = options.Value;
     this.powershell                   = powershell;
     this.authzCache                   = authzCache;
     this.computerTargetProvider       = computerTargetProvider;
     this.authorizationContextProvider = authorizationContextProvider;
     this.licenseManager               = licenseManager;
 }
Ejemplo n.º 14
0
 public GetDeletedResourceIdsAuthorizationDecorator(
     IGetDeletedResourceIds next,
     ISecurityRepository securityRepository,
     IAuthorizationContextProvider authorizationContextProvider,
     IEdFiAuthorizationProvider authorizationProvider)
     : base(authorizationContextProvider, authorizationProvider)
 {
     _next = next;
     _securityRepository = securityRepository;
 }
 /// <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="sessionFactory">The NHibernate session factory used to manage session (database connection) context.</param>
 /// <param name="authorizationFilterContextProvider">Applies authorization-related filters for the entity on the current NHiberate session.</param>
 /// <param name="authorizationContextProvider">Provides access to the authorization context, such as the resource and action.</param>
 /// <param name="authorizationProvider">The component capable of authorizing the request, given necessary context.</param>
 public GetEntitiesBySpecificationAuthorizationDecorator(
     IGetEntitiesBySpecification <TEntity> next,
     ISessionFactory sessionFactory,
     IAuthorizationFilterContextProvider authorizationFilterContextProvider,
     IAuthorizationContextProvider authorizationContextProvider,
     IEdFiAuthorizationProvider authorizationProvider)
     : base(authorizationContextProvider, authorizationProvider)
 {
     _next           = next;
     _sessionFactory = sessionFactory;
     _authorizationFilterContextProvider = authorizationFilterContextProvider;
 }
Ejemplo n.º 16
0
        public ContractMethodInvocationHandler(
            IContractImplementationResolver contractImplementationResolver,
            IAuthorizationContextProvider authorizationContextProvider,
            IAuthorizationHandler authorizationHandler,
            IEnumerable <IInvocationSerializer> invocationSerializers,
            IMethodInvoker methodInvoker)
        {
            this.contractImplementationResolver = contractImplementationResolver;
            this.authorizationContextProvider   = authorizationContextProvider;
            this.authorizationHandler           = authorizationHandler;
            this.methodInvoker = methodInvoker;

            this.invocationSerializers = invocationSerializers.ToDictionary(x => x.MediaType);
        }
Ejemplo n.º 17
0
        public void TestInitialize()
        {
            this.discoveryServices = new DiscoveryServices(Mock.Of <ILogger <DiscoveryServices> >());
            directory  = new ActiveDirectory(discoveryServices);
            cache      = new AuthorizationInformationMemoryCache();
            logger     = Global.LogFactory.CreateLogger <AuthorizationInformationBuilder>();
            powershell = Mock.Of <IPowerShellSecurityDescriptorGenerator>();
            var mockLicenseManager = new Mock <IAmsLicenseManager>();

            mockLicenseManager.Setup(l => l.IsEnterpriseEdition()).Returns(true);
            mockLicenseManager.Setup(l => l.IsFeatureCoveredByFullLicense(It.IsAny <LicensedFeatures>())).Returns(true);
            mockLicenseManager.Setup(l => l.IsFeatureEnabled(It.IsAny <LicensedFeatures>())).Returns(true);
            this.licenseManager = mockLicenseManager.Object;

            targetDataProvider           = new ComputerTargetProvider(directory, new TargetDataProvider(new TargetDataCache(), Global.LogFactory.CreateLogger <TargetDataProvider>()), Global.LogFactory.CreateLogger <ComputerTargetProvider>());
            authorizationContextProvider = new AuthorizationContextProvider(Mock.Of <IOptions <AuthorizationOptions> >(), Global.LogFactory.CreateLogger <AuthorizationContextProvider>(), discoveryServices);
        }
 public OidcAuthenticationProvider(IOptions <OidcAuthenticationProviderOptions> options, ILogger <OidcAuthenticationProvider> logger, IDirectory directory, IHttpContextAccessor httpContextAccessor, IAuthorizationContextProvider authzContextProvider, IProtectedSecretProvider secretProvider)
     : base(logger, directory, httpContextAccessor, authzContextProvider)
 {
     this.secretProvider = secretProvider;
     this.options        = options.Value;
 }
Ejemplo n.º 19
0
 public WsFedAuthenticationProvider(IOptions <WsFedAuthenticationProviderOptions> options, ILogger <WsFedAuthenticationProvider> logger, IDirectory directory, IHttpContextAccessor httpContextAccessor, IAuthorizationContextProvider authzContextProvider)
     : base(logger, directory, httpContextAccessor, authzContextProvider)
 {
     this.options = options.Value;
 }
Ejemplo n.º 20
0
 protected HttpContextAuthenticationProvider(IHttpContextAccessor httpContextAccessor, IDirectory directory, IAuthorizationContextProvider authzContextProvider)
 {
     this.httpContextAccessor  = httpContextAccessor;
     this.directory            = directory;
     this.authzContextProvider = authzContextProvider;
 }
Ejemplo n.º 21
0
 public IwaAuthenticationProvider(IOptions <IwaAuthenticationProviderOptions> options, IDirectory directory, IHttpContextAccessor httpContextAccessor, IAuthorizationContextProvider authzContextProvider)
     : base(httpContextAccessor, directory, authzContextProvider)
 {
     this.options = options.Value;
 }
Ejemplo n.º 22
0
 protected IdpAuthenticationProvider(ILogger logger, IDirectory directory, IHttpContextAccessor httpContextAccessor, IAuthorizationContextProvider authzContextProvider)
     : base(httpContextAccessor, directory, authzContextProvider)
 {
     this.logger    = logger;
     this.directory = directory;
 }
        public CertificateAuthenticationProvider(IOptionsSnapshot <CertificateAuthenticationProviderOptions> options, ILogger <CertificateAuthenticationProvider> logger, IDirectory directory, IHttpContextAccessor httpContextAccessor, IAuthorizationContextProvider authzContextProvider)
            : base(httpContextAccessor, directory, authzContextProvider)
        {
            this.directory = directory;
            this.logger    = logger;
            this.cache     = new MemoryCache(new MemoryCacheOptions
            {
            });

            this.options = options.Value;
        }