Example #1
0
        public void ApplyPermission(string trustee,
                                    ADS_ACETYPE_ENUM aceType,
                                    ADS_RIGHTS_ENUM accessMask,
                                    ADS_ACEFLAG_ENUM aceFlags,
                                    ADS_FLAGTYPE_ENUM flag
                                    )

        {
            ApplyPermission(trustee, aceType, accessMask, aceFlags, flag, null, null);
        }
Example #2
0
        public void ApplyPermission(string trustee,
                                    ADS_ACETYPE_ENUM aceType,
                                    ADS_RIGHTS_ENUM accessMask,
                                    ADS_ACEFLAG_ENUM aceFlags,
                                    ADS_FLAGTYPE_ENUM flag,
                                    DirectoryEntry objectType,
                                    DirectoryEntry inheritedObject)

        {
            ActiveDs.AccessControlEntryClass ace = new AccessControlEntryClass();
            ace.AccessMask = (int)accessMask;
            ace.Flags      = (int)Enum.Parse(typeof(ActiveDs.ADS_FLAGTYPE_ENUM), Enum.GetName(typeof(ADS_FLAGTYPE_ENUM), flag));
            ace.AceFlags   = (int)Enum.Parse(typeof(ActiveDs.ADS_ACEFLAG_ENUM), Enum.GetName(typeof(ADS_ACEFLAG_ENUM), aceFlags));
            ace.AceType    = (int)Enum.Parse(typeof(ActiveDs.ADS_ACETYPE_ENUM), Enum.GetName(typeof(ADS_ACETYPE_ENUM), aceType));

            ace.Trustee = trustee;

            this._accessControlList.AddAce(ace);
            _securityDescriptor.DiscretionaryAcl = this._accessControlList;
            this.CommitChanges();
        }