private static IPermissionsProvider GetExtendedPermissionsProvider(ExtendedPermissionsProviders provider) { switch (provider) { //TODO: Include after they're solid //case ExtendedPermissionsProviders.ActiveDirectoryApplicationDirectory: return PermissionsProvider.ActiveDirectoryApplicationDirectory; //case ExtendedPermissionsProviders.ActiveDirectoryDomain: return PermissionsProvider.ActiveDirectoryDomain; case ExtendedPermissionsProviders.ActiveDirectoryMachine: return(PermissionsProvider.IncludingActiveDirectoryMachine); default: return(PermissionsProvider.Default); } }
/// <summary> /// Creates a new instance of the <see cref="TypeAccessProvider"/> class. /// Uses the default permissions provider and, optionally, an extended provider for greater permissions capabilities. /// </summary> /// <param name="extendedProvider">The extended permissions provider that should be used</param> /// <param name="typeProviders">The type providers that may be accessed</param> public TypeAccessProvider(ExtendedPermissionsProviders extendedProvider = ExtendedPermissionsProviders.None, params ITypeProvider[] typeProviders) : base(GetExtendedPermissionsProvider(extendedProvider), typeProviders.AggregateProvidableTypes()) { this.typeProviders = typeProviders; }