public PermissionDefinitionManager( IOptions <PermissionOptions> options, IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; Options = options.Value; _lazyProviders = new Lazy <List <IPermissionDefinitionProvider> >(CreatePermissionProviders, true); _lazyPermissionDefinitions = new Lazy <Dictionary <string, PermissionDefinition> >(CreatePermissionDefinitions, true); _lazyPermissionGroupDefinitions = new Lazy <Dictionary <string, PermissionGroupDefinition> >(CreatePermissionGroupDefinitions, true); }
public PermissionValueProviderManager( IServiceProvider serviceProvider, IOptions <PermissionOptions> options) { Options = options.Value; _lazyProviders = new Lazy <List <IPermissionValueProvider> >( () => Options .ValueProviders .Select(c => serviceProvider.GetRequiredService(c) as IPermissionValueProvider) .ToList(), true ); }
public PermissionChecker( IOptions <PermissionOptions> options, IServiceProvider serviceProvider, ICurrentPrincipalAccessor principalAccessor, IPermissionDefinitionManager permissionDefinitionManager) { PrincipalAccessor = principalAccessor; PermissionDefinitionManager = permissionDefinitionManager; Options = options.Value; _lazyProviders = new Lazy <List <IPermissionValueProvider> >( () => Options .ValueProviders .Select(c => serviceProvider.GetRequiredService(c) as IPermissionValueProvider) .ToList(), true ); }