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); }
public void AddRights(ADS_RIGHTS_ENUM enumValue) { ArrayList temp = new ArrayList(); foreach (string s in this._accessMask) { temp.Add(s); } temp.Add(Enum.GetName(typeof(ADS_RIGHTS_ENUM), enumValue)); this._accessMask = (string[])temp.ToArray(typeof(string)); }
private void button1_Click_2(object sender, System.EventArgs e) { StringBuilder builder = new StringBuilder(); AccessControlList acl = new AccessControlList(util.SharedEntry); string enumValues = null; // for(int i=0;i<this.lstPermList.CheckedIndices.Count;i++) // { // PermissionItem o = (PermissionItem)lstPermList.Items[lstPermList.CheckedIndices[i]]; // Console.Write(""); // } IEnumerator myEnumerator; myEnumerator = this.lstPermList.CheckedIndices.GetEnumerator(); int index; while (myEnumerator.MoveNext() != false) { index = (int)myEnumerator.Current; PermissionItem item = (PermissionItem)lstPermList.Items[index]; builder.Append(item.EnumObject); builder.Append(','); } string concatValue = builder.ToString().TrimEnd(new Char[] { ',' }); ADS_RIGHTS_ENUM accessMask = (ADS_RIGHTS_ENUM)Enum.Parse(typeof(ADS_RIGHTS_ENUM), concatValue); acl.ApplyPermission(this.cboTrustees.Text, ADS_ACETYPE_ENUM.ADS_ACETYPE_ACCESS_ALLOWED, accessMask, ADS_ACEFLAG_ENUM.ADS_ACEFLAG_INHERIT_ACE, ADS_FLAGTYPE_ENUM.ADS_FLAG_OBJECT_TYPE_PRESENT); acl.CommitChanges(); LoadSecurity_Click(this, new EventArgs()); }
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(); }