public PermissionValueProviderManager( IServiceProvider serviceProvider, IOptions <PlusPermissionOptions> options) { Options = options.Value; _lazyProviders = new Lazy <List <IPermissionValueProvider> >( () => Options .ValueProviders .Select(c => serviceProvider.GetRequiredService(c) as IPermissionValueProvider) .ToList(), true ); }
public PermissionDefinitionManager( IOptions <PlusPermissionOptions> options, IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; Options = options.Value; _lazyPermissionDefinitions = new Lazy <Dictionary <string, PermissionDefinition> >( CreatePermissionDefinitions, isThreadSafe: true ); _lazyPermissionGroupDefinitions = new Lazy <Dictionary <string, PermissionGroupDefinition> >( CreatePermissionGroupDefinitions, isThreadSafe: true ); }