public void PermissionState_Bad() { PermissionState ps = (PermissionState)77; DirectoryServicesPermission dsp = new DirectoryServicesPermission(ps); Assert.IsFalse(dsp.IsUnrestricted(), "IsUnrestricted"); }
public void Intersect_Null() { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); // No intersection with null Assert.IsNull(dsp.Intersect(null), "None N null"); }
private String getADName(string user) { // Remove TYSONET\ from the beginning of the string. May want to // use regular expressions here and print out the username with a groups // not found message to help with possible other prefixes down the road DirectoryServicesPermission dsPerm = new DirectoryServicesPermission(System.Security.Permissions.PermissionState.Unrestricted); dsPerm.Assert(); // Filter to get user's distinguished name (DN) string sFilter = "(&(objectClass=user)(SAMAccountName=" + user + "))"; DataTable dt = new DataTable("Result"); // Query for all users and return a table of their distinguished names dt = RunLDAPQuery(sFilter, "Name"); if (dt.Rows.Count == 1) { DataRow dr = dt.Rows[0]; return (string)dr["Name"]; } else { return ("User not found"); } }
public static void DirectoryServicesPermissionCallMethods() { DirectoryServicesPermission dsp = new DirectoryServicesPermission(new PermissionState()); DirectoryServicesPermission other = new DirectoryServicesPermission(); other = new DirectoryServicesPermission(default(DirectoryServicesPermissionAccess), "test"); DirectoryServicesPermissionEntryCollection pe = other.PermissionEntries; }
public void IsSubset_Self() { foreach (DirectoryServicesPermissionAccess ppl in AllAccess) { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); dsp.PermissionEntries.Add(new DirectoryServicesPermissionEntry(ppl, ppl.ToString())); Assert.IsTrue(dsp.IsSubsetOf(dsp), ppl.ToString()); } }
public void DirectoryServicesPermissionAccesss_Bad() { DirectoryServicesPermissionAccess dspa = (DirectoryServicesPermissionAccess)Int32.MinValue; DirectoryServicesPermission dsp = new DirectoryServicesPermission(dspa, String.Empty); Assert.AreEqual(1, dsp.PermissionEntries.Count, "Count"); Assert.AreEqual((DirectoryServicesPermissionAccess)Int32.MinValue, dsp.PermissionEntries [0].PermissionAccess, "PermissionAccess"); Assert.AreEqual(String.Empty, dsp.PermissionEntries [0].Path, "Path"); }
public void FromXml_WrongVersion() { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); SecurityElement se = dsp.ToXml(); se.Attributes.Remove("version"); se.Attributes.Add("version", "2"); dsp.FromXml(se); }
public void Union_Null() { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); dsp.PermissionEntries.Add(new DirectoryServicesPermissionEntry(DirectoryServicesPermissionAccess.None, String.Empty)); // Union with null is a simple copy DirectoryServicesPermission union = (DirectoryServicesPermission)dsp.Union(null); Assert.IsNotNull(dsp.PermissionEntries.Count, "Count"); }
public void FromXml_WrongTagCase() { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); SecurityElement se = dsp.ToXml(); se.Tag = "IPERMISSION"; // instead of IPermission dsp.FromXml(se); // note: normally IPermission classes (in corlib) DO care about the // IPermission tag }
public void FromXml_NoVersion() { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); SecurityElement se = dsp.ToXml(); SecurityElement w = new SecurityElement(se.Tag); w.AddAttribute("class", se.Attribute("class")); dsp.FromXml(w); }
public void IsSubset_Null() { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); #if NET_2_0 Assert.IsTrue(dsp.IsSubsetOf(null), "null"); #else Assert.IsFalse(dsp.IsSubsetOf(null), "null"); #endif }
internal CDirectoryServicesPermControls(IPermission perm, Object oParent) : base(perm, oParent) { // If they don't have a permission for this permission set, we will // feed our property page a 'none' permission state. if (perm == null) { m_perm = new DirectoryServicesPermission(PermissionState.None); } }// CDirectoryServicesPermControls
public void Union_Self() { foreach (DirectoryServicesPermissionAccess ppl in AllAccess) { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); dsp.PermissionEntries.Add(new DirectoryServicesPermissionEntry(ppl, ppl.ToString())); DirectoryServicesPermission union = (DirectoryServicesPermission)dsp.Union(dsp); Assert.IsFalse(union.IsUnrestricted(), "IsUnrestricted " + ppl.ToString()); Assert.AreEqual(1, union.PermissionEntries.Count, "Count " + ppl.ToString()); } }
public void FromXml_NoClass() { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); SecurityElement se = dsp.ToXml(); SecurityElement w = new SecurityElement(se.Tag); w.AddAttribute("version", se.Attribute("version")); dsp.FromXml(w); // doesn't even care of the class attribute presence }
public void Default() { DirectoryServicesPermissionAttribute a = new DirectoryServicesPermissionAttribute(SecurityAction.Assert); Assert.AreEqual(a.ToString(), a.TypeId.ToString(), "TypeId"); Assert.IsFalse(a.Unrestricted, "Unrestricted"); Assert.AreEqual("*", a.Path, "Path"); Assert.AreEqual(DirectoryServicesPermissionAccess.Browse, a.PermissionAccess, "PermissionAccess"); DirectoryServicesPermission sp = (DirectoryServicesPermission)a.CreatePermission(); Assert.IsFalse(sp.IsUnrestricted(), "IsUnrestricted"); }
public void Copy() { foreach (DirectoryServicesPermissionAccess ppl in AllAccess) { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); DirectoryServicesPermissionEntry dspe = new DirectoryServicesPermissionEntry(ppl, ppl.ToString()); dsp.PermissionEntries.Add(dspe); DirectoryServicesPermission copy = (DirectoryServicesPermission)dsp.Copy(); Assert.AreEqual(1, copy.PermissionEntries.Count, "Count==1"); Assert.AreEqual(ppl, dsp.PermissionEntries [0].PermissionAccess, ppl.ToString()); Assert.AreEqual(ppl.ToString(), dsp.PermissionEntries [0].Path, ppl.ToString() + "-Path"); } }
public void FromXml_WrongClass() { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); SecurityElement se = dsp.ToXml(); SecurityElement w = new SecurityElement(se.Tag); w.AddAttribute("class", "Wrong" + se.Attribute("class")); w.AddAttribute("version", se.Attribute("version")); dsp.FromXml(w); // doesn't care of the class name at that stage // anyway the class has already be created so... }
public void Unrestricted() { DirectoryServicesPermissionAttribute a = new DirectoryServicesPermissionAttribute(SecurityAction.Assert); a.Unrestricted = true; DirectoryServicesPermission wp = (DirectoryServicesPermission)a.CreatePermission(); Assert.IsTrue(wp.IsUnrestricted(), "IsUnrestricted"); Assert.AreEqual("*", a.Path, "Path"); Assert.AreEqual(DirectoryServicesPermissionAccess.Browse, a.PermissionAccess, "PermissionAccess"); a.Unrestricted = false; wp = (DirectoryServicesPermission)a.CreatePermission(); Assert.IsFalse(wp.IsUnrestricted(), "!IsUnrestricted"); }
public void IsSubset_None() { // IsSubset with none // a. source (this) is none -> target is never a subset // b. destination (target) is none -> target is always a subset DirectoryServicesPermission dsp1 = new DirectoryServicesPermission(PermissionState.None); foreach (DirectoryServicesPermissionAccess ppl in AllAccess) { DirectoryServicesPermission dsp2 = new DirectoryServicesPermission(PermissionState.None); dsp2.PermissionEntries.Add(new DirectoryServicesPermissionEntry(ppl, ppl.ToString())); Assert.IsTrue(dsp1.IsSubsetOf(dsp2), "target " + ppl.ToString()); Assert.IsFalse(dsp2.IsSubsetOf(dsp1), "source " + ppl.ToString()); } }
public void Intersect_None() { DirectoryServicesPermission dsp1 = new DirectoryServicesPermission(PermissionState.None); DirectoryServicesPermission dsp2 = new DirectoryServicesPermission(PermissionState.None); // 1. None N None DirectoryServicesPermission result = (DirectoryServicesPermission)dsp1.Intersect(dsp2); Assert.IsNull(result, "Empty N Empty"); // 2. None N Entry dsp2.PermissionEntries.Add(new DirectoryServicesPermissionEntry(DirectoryServicesPermissionAccess.None, String.Empty)); result = (DirectoryServicesPermission)dsp1.Intersect(dsp2); Assert.IsNull(result, "Empty N Entry"); // 3. Entry N None result = (DirectoryServicesPermission)dsp2.Intersect(dsp1); Assert.IsNull(result, "Entry N Empty"); }
}// CreateDataTable protected override void PutValuesinPage() { // Put in the text for the radio buttons m_radUnrestricted.Text = CResourceStore.GetString("DirectoryServicesPerm:GrantUnrestrict"); m_radGrantFollowingPermission.Text = CResourceStore.GetString("DirectoryServicesPerm:GrantFollowing"); DirectoryServicesPermission perm = (DirectoryServicesPermission)m_perm; CheckUnrestricted(perm); if (!perm.IsUnrestricted()) { // Run through the list of socket permissions we have to accept connections IEnumerator enumer = perm.PermissionEntries.GetEnumerator(); while (enumer.MoveNext()) { DirectoryServicesPermissionEntry dspp = (DirectoryServicesPermissionEntry)enumer.Current; DataRow newRow; newRow = m_dt.NewRow(); newRow["Path"] = dspp.Path; String sAccessString = ""; if (dspp.PermissionAccess == DirectoryServicesPermissionAccess.Browse) { sAccessString = CResourceStore.GetString("DirectoryServicesPermission:Browse"); } else if (dspp.PermissionAccess == DirectoryServicesPermissionAccess.Write) { sAccessString = CResourceStore.GetString("DirectoryServicesPermission:Write"); } else { sAccessString = CResourceStore.GetString("<unknown>"); } newRow["Access"] = new DataGridComboBoxEntry(sAccessString); m_dt.Rows.Add(newRow); } } // We want at least 1 row so it looks pretty while (m_dt.Rows.Count < 1) { AddEmptyRow(m_dt); } }// PutValuesinPage
public void Union_None() { DirectoryServicesPermission dsp1 = new DirectoryServicesPermission(PermissionState.None); foreach (DirectoryServicesPermissionAccess ppl in AllAccess) { DirectoryServicesPermission dsp2 = new DirectoryServicesPermission(PermissionState.None); dsp2.PermissionEntries.Add(new DirectoryServicesPermissionEntry(ppl, ppl.ToString())); DirectoryServicesPermission union = (DirectoryServicesPermission)dsp1.Union(dsp2); Assert.IsFalse(union.IsUnrestricted(), "target.IsUnrestricted " + ppl.ToString()); Assert.AreEqual(1, union.PermissionEntries.Count, "target.Count " + ppl.ToString()); union = (DirectoryServicesPermission)dsp2.Union(dsp1); Assert.IsFalse(union.IsUnrestricted(), "source.IsUnrestricted " + ppl.ToString()); Assert.AreEqual(1, union.PermissionEntries.Count, "source.Count " + ppl.ToString()); } }
public void PermissionState_Unrestricted() { PermissionState ps = PermissionState.Unrestricted; DirectoryServicesPermission dsp = new DirectoryServicesPermission(ps); Assert.AreEqual(0, dsp.PermissionEntries.Count, "PermissionEntries"); Assert.IsTrue(dsp.IsUnrestricted(), "IsUnrestricted"); SecurityElement se = dsp.ToXml(); // only class and version are present Assert.AreEqual("true", se.Attribute("Unrestricted"), "Xml-Unrestricted"); Assert.IsNull(se.Children, "Xml-Children"); DirectoryServicesPermission copy = (DirectoryServicesPermission)dsp.Copy(); Assert.IsFalse(Object.ReferenceEquals(dsp, copy), "ReferenceEquals"); Assert.AreEqual(dsp.PermissionEntries.Count, copy.PermissionEntries.Count, "copy-PermissionEntries"); Assert.AreEqual(dsp.IsUnrestricted(), copy.IsUnrestricted(), "copy-IsUnrestricted ()"); }
}// AddEmptyRow internal override IPermission GetCurrentPermission() { // Change cells so we get data committed to the grid m_dg.CurrentCell = new DataGridCell(0, 1); m_dg.CurrentCell = new DataGridCell(0, 0); DirectoryServicesPermission perm = null; if (m_radUnrestricted.Checked == true) { perm = new DirectoryServicesPermission(PermissionState.Unrestricted); } else { perm = new DirectoryServicesPermission(PermissionState.None); for (int i = 0; i < m_dt.Rows.Count; i++) { // Make sure we have a socket permission to add if (m_dg[i, 0] is String && ((String)m_dg[i, 0]).Length > 0) { String sPath = (String)m_dg[i, 0]; DirectoryServicesPermissionAccess dspa; if (((String)m_dg[i, 1]).Equals(CResourceStore.GetString("DirectoryServicesPermission:Browse"))) { dspa = DirectoryServicesPermissionAccess.Browse; } else { dspa = DirectoryServicesPermissionAccess.Write; } perm.PermissionEntries.Add(new DirectoryServicesPermissionEntry(dspa, sPath)); } } } return(perm); }// GetCurrentPermission
public void PermissionEntries() { DirectoryServicesPermissionAccess dspa = DirectoryServicesPermissionAccess.None; DirectoryServicesPermission dsp = new DirectoryServicesPermission(dspa, String.Empty); DirectoryServicesPermissionEntryCollection dspec = dsp.PermissionEntries; Assert.AreEqual(1, dspec.Count, "Count==1"); DirectoryServicesPermissionEntry dspe = new DirectoryServicesPermissionEntry(DirectoryServicesPermissionAccess.Browse, "*"); dsp.PermissionEntries.Add(dspe); Assert.AreEqual(2, dspec.Count, "Count==2"); // remove (same instance) dsp.PermissionEntries.Remove(dspe); Assert.AreEqual(1, dspec.Count, "Count==1 (b)"); // remove different instance (doesn't work) dspe = new DirectoryServicesPermissionEntry(DirectoryServicesPermissionAccess.None, String.Empty); Assert.AreEqual(1, dspec.Count, "Count==1"); }
public void Intersect_Unrestricted() { // Intersection with unrestricted == Copy // a. source (this) is unrestricted DirectoryServicesPermission dsp1 = new DirectoryServicesPermission(PermissionState.Unrestricted); DirectoryServicesPermission dsp2 = new DirectoryServicesPermission(PermissionState.None); // 1. Unrestricted N None DirectoryServicesPermission result = (DirectoryServicesPermission)dsp1.Intersect(dsp2); Assert.IsFalse(result.IsUnrestricted(), "(Unrestricted N None).IsUnrestricted"); Assert.AreEqual(0, result.PermissionEntries.Count, "(Unrestricted N None).Count"); // 2. None N Unrestricted result = (DirectoryServicesPermission)dsp2.Intersect(dsp1); Assert.IsFalse(result.IsUnrestricted(), "(None N Unrestricted).IsUnrestricted"); Assert.AreEqual(0, result.PermissionEntries.Count, "(None N Unrestricted).Count"); // 3. Unrestricted N Unrestricted result = (DirectoryServicesPermission)dsp1.Intersect(dsp1); Assert.IsTrue(result.IsUnrestricted(), "(Unrestricted N Unrestricted).IsUnrestricted"); Assert.AreEqual(0, result.PermissionEntries.Count, "(Unrestricted N Unrestricted).Count"); // 4. Unrestricted N Entry dsp2.PermissionEntries.Add(new DirectoryServicesPermissionEntry(DirectoryServicesPermissionAccess.None, String.Empty)); result = (DirectoryServicesPermission)dsp1.Intersect(dsp2); Assert.IsFalse(result.IsUnrestricted(), "(Unrestricted N Entry).IsUnrestricted"); Assert.AreEqual(1, result.PermissionEntries.Count, "(Unrestricted N Entry).Count"); // 5. Entry N Unrestricted result = (DirectoryServicesPermission)dsp2.Intersect(dsp1); Assert.IsFalse(result.IsUnrestricted(), "(Entry N Unrestricted).IsUnrestricted"); Assert.AreEqual(1, result.PermissionEntries.Count, "(Entry N Unrestricted).Count"); // 6. Unrestricted N Unrestricted dsp1.PermissionEntries.Add(new DirectoryServicesPermissionEntry(DirectoryServicesPermissionAccess.None, String.Empty)); result = (DirectoryServicesPermission)dsp1.Intersect(dsp1); Assert.IsTrue(result.IsUnrestricted(), "(Unrestricted N Unrestricted).IsUnrestricted"); Assert.AreEqual(1, result.PermissionEntries.Count, "(Unrestricted N Unrestricted).Count"); }
internal CDirectoryServicesPermDialog(DirectoryServicesPermission perm) { this.Text = CResourceStore.GetString("DirectoryServicesPerm:PermName"); m_PermControls = new CDirectoryServicesPermControls(perm, this); Init(); } // CDirectoryServicesPermDialog
public void FromXml_Null() { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); dsp.FromXml(null); }
public void IsSubset_Null() { DirectoryServicesPermission dsp = new DirectoryServicesPermission(PermissionState.None); Assert.IsTrue(dsp.IsSubsetOf(null), "null"); }