Beispiel #1
0
        private IAccessControlEditorDialogProvider ProviderFromResourceType(System.Security.AccessControl.ResourceType resType)
        {
            IAccessControlEditorDialogProvider prov = null;

            switch (resType)
            {
            case System.Security.AccessControl.ResourceType.FileObject:
                prov = new FileProvider();
                break;

            case System.Security.AccessControl.ResourceType.KernelObject:
                prov = new KernelProvider();
                break;

            case System.Security.AccessControl.ResourceType.RegistryKey:
                prov = new RegistryProvider();
                break;

            case TaskResourceType:
                prov = new TaskProvider();
                break;

            default:
                prov = new GenericProvider();
                break;
            }
            return(prov);
        }
 public void SetProvider(IAccessControlEditorDialogProvider provider)
 {
     prov = provider;
 }
Beispiel #3
0
 /// <summary>Initializes the dialog with a custom provider.</summary>
 /// <param name="displayName">The object name.</param>
 /// <param name="fullObjectName">Full name of the object.</param>
 /// <param name="isContainer">Set to <c>true</c> if object is a container.</param>
 /// <param name="customProvider">The custom provider.</param>
 /// <param name="sd">The binary Security Descriptor.</param>
 /// <param name="targetServer">The target server.</param>
 public void Initialize(string displayName, string fullObjectName, bool isContainer, IAccessControlEditorDialogProvider customProvider, byte[] sd, string targetServer = null)
 {
     if (isContainer)
     {
         ObjectIsContainer = true;
     }
     iSecInfo     = new SecurityInfoImpl(flags, displayName, fullObjectName, targetServer);
     ResourceType = System.Security.AccessControl.ResourceType.Unknown;
     if (sd != null)
     {
         Result = new System.Security.AccessControl.RawSecurityDescriptor(sd, 0);
         iSecInfo.SecurityDescriptor = sd;
     }
     else
     {
         Result = new System.Security.AccessControl.RawSecurityDescriptor("");
         iSecInfo.SecurityDescriptor = new byte[20];
     }
     iSecInfo.SetProvider(customProvider);
 }