public void PermissionStateUnrestricted () { PrincipalPermission p = new PrincipalPermission (PermissionState.Unrestricted); Assert.IsNotNull (p, "PrincipalPermission(PermissionState.Unrestricted)"); Assert.IsTrue (p.IsUnrestricted (), "IsUnrestricted"); PrincipalPermission copy = (PrincipalPermission) p.Copy (); Assert.AreEqual (p.IsUnrestricted (), copy.IsUnrestricted (), "Copy.IsUnrestricted"); // Note: Unrestricted isn't shown in XML }
public void PermissionStateUnrestricted () { PrincipalPermission p = new PrincipalPermission (PermissionState.Unrestricted); AssertNotNull ("PrincipalPermission(PermissionState.Unrestricted)", p); Assert ("IsUnrestricted", p.IsUnrestricted ()); PrincipalPermission copy = (PrincipalPermission) p.Copy (); AssertEquals ("Copy.IsUnrestricted", p.IsUnrestricted (), copy.IsUnrestricted ()); // Note: Unrestricted isn't shown in XML }
public void PermissionStateNone () { PrincipalPermission p = new PrincipalPermission (PermissionState.None); AssertNotNull ("PrincipalPermission(PermissionState.None)", p); Assert ("IsUnrestricted", !p.IsUnrestricted ()); PrincipalPermission copy = (PrincipalPermission) p.Copy (); AssertEquals ("Copy.IsUnrestricted", p.IsUnrestricted (), copy.IsUnrestricted ()); SecurityElement se = p.ToXml (); Assert ("ToXml-class", (se.Attributes ["class"] as string).StartsWith (className)); AssertEquals ("ToXml-version", "1", (se.Attributes ["version"] as string)); }
public void PermissionStateNone () { PrincipalPermission p = new PrincipalPermission (PermissionState.None); Assert.IsNotNull (p, "PrincipalPermission(PermissionState.None)"); Assert.IsTrue (!p.IsUnrestricted (), "IsUnrestricted"); PrincipalPermission copy = (PrincipalPermission) p.Copy (); Assert.AreEqual (p.IsUnrestricted (), copy.IsUnrestricted (), "Copy.IsUnrestricted"); SecurityElement se = p.ToXml (); Assert.IsTrue ((se.Attributes ["class"] as string).StartsWith (className), "ToXml-class"); Assert.AreEqual ("1", (se.Attributes ["version"] as string), "ToXml-version"); }
public bool IsSubsetOf(IPermission target) { PrincipalPermission pp = Cast(target); if (pp == null) { return(IsEmpty()); } if (IsUnrestricted()) { return(pp.IsUnrestricted()); } else if (pp.IsUnrestricted()) { return(true); } // each must be a subset of the target foreach (PrincipalInfo pi in principals) { bool thisItem = false; foreach (PrincipalInfo opi in pp.principals) { if (((pi.Name == opi.Name) || (opi.Name == null)) && ((pi.Role == opi.Role) || (opi.Role == null)) && (pi.IsAuthenticated == opi.IsAuthenticated)) { thisItem = true; } } if (!thisItem) { return(false); } } return(true); }
/// <summary>Determines whether the current permission is a subset of the specified permission.</summary> /// <param name="target">A permission that is to be tested for the subset relationship. This permission must be of the same type as the current permission. </param> /// <returns> /// <see langword="true" /> if the current permission is a subset of the specified permission; otherwise, <see langword="false" />.</returns> /// <exception cref="T:System.ArgumentException">The <paramref name="target" /> parameter is an object that is not of the same type as the current permission. </exception> // Token: 0x06002607 RID: 9735 RVA: 0x00088E4C File Offset: 0x0008704C public bool IsSubsetOf(IPermission target) { if (target == null) { return(this.IsEmpty()); } bool result; try { PrincipalPermission principalPermission = (PrincipalPermission)target; if (principalPermission.IsUnrestricted()) { result = true; } else if (this.IsUnrestricted()) { result = false; } else { for (int i = 0; i < this.m_array.Length; i++) { bool flag = false; for (int j = 0; j < principalPermission.m_array.Length; j++) { if (principalPermission.m_array[j].m_authenticated == this.m_array[i].m_authenticated && (principalPermission.m_array[j].m_id == null || (this.m_array[i].m_id != null && this.m_array[i].m_id.Equals(principalPermission.m_array[j].m_id))) && (principalPermission.m_array[j].m_role == null || (this.m_array[i].m_role != null && this.m_array[i].m_role.Equals(principalPermission.m_array[j].m_role)))) { flag = true; break; } } if (!flag) { return(false); } } result = true; } } catch (InvalidCastException) { throw new ArgumentException(Environment.GetResourceString("Argument_WrongType", new object[] { base.GetType().FullName })); } return(result); }
public bool IsSubsetOf(IPermission target) { if (target == null) { return(IsEmpty()); } else if (!VerifyType(target)) { throw new ArgumentException(SR.Argument_WrongType, GetType().FullName); } PrincipalPermission operand = (PrincipalPermission)target; if (operand.IsUnrestricted()) { return(true); } else if (IsUnrestricted()) { return(false); } foreach (IDRole idRole in _idArray) { bool foundMatch = false; foreach (IDRole operandIdRole in operand._idArray) { if ((operandIdRole.Authenticated == idRole.Authenticated) && (operandIdRole.ID == null || (idRole.ID != null && idRole.ID.Equals(operandIdRole.ID))) && (operandIdRole.Role == null || (idRole.Role != null && idRole.Role.Equals(operandIdRole.Role)))) { foundMatch = true; break; } } if (!foundMatch) { return(false); } } return(true); }
public IPermission Union(IPermission other) { if (other == null) { return(this.Copy()); } else if (!VerifyType(other)) { throw new ArgumentException( Environment.GetResourceString("Argument_WrongType", this.GetType().FullName) ); } PrincipalPermission operand = (PrincipalPermission)other; if (this.IsUnrestricted() || operand.IsUnrestricted()) { return(new PrincipalPermission(PermissionState.Unrestricted)); } // Now we have to do a real union int combinedLength = this.m_array.Length + operand.m_array.Length; IDRole[] idrolesArray = new IDRole[combinedLength]; int i, j; for (i = 0; i < this.m_array.Length; ++i) { idrolesArray[i] = this.m_array[i]; } for (j = 0; j < operand.m_array.Length; ++j) { idrolesArray[i + j] = operand.m_array[j]; } return(new PrincipalPermission(idrolesArray)); }
/// <summary>Creates a permission that is the union of the current permission and the specified permission.</summary> /// <returns>A new permission that represents the union of the current permission and the specified permission.</returns> /// <param name="other">A permission to combine with the current permission. It must be of the same type as the current permission. </param> /// <exception cref="T:System.ArgumentException">The <paramref name="other" /> parameter is an object that is not of the same type as the current permission. </exception> public IPermission Union(IPermission other) { PrincipalPermission principalPermission = this.Cast(other); if (principalPermission == null) { return(this.Copy()); } if (this.IsUnrestricted() || principalPermission.IsUnrestricted()) { return(new PrincipalPermission(PermissionState.Unrestricted)); } PrincipalPermission principalPermission2 = new PrincipalPermission(this.principals); foreach (object obj in principalPermission.principals) { PrincipalPermission.PrincipalInfo value = (PrincipalPermission.PrincipalInfo)obj; principalPermission2.principals.Add(value); } return(principalPermission2); }
/// <summary>确定当前权限是否为指定权限的子集。</summary> /// <returns>如果当前权限是指定权限的子集,则为 true;否则为 false。</returns> /// <param name="target">将要测试子集关系的权限。此权限必须与当前权限属于同一类型。</param> /// <exception cref="T:System.ArgumentException"> /// <paramref name="target" /> 参数是与当前权限属于不同类型的对象。</exception> public bool IsSubsetOf(IPermission target) { if (target == null) { return(this.IsEmpty()); } try { PrincipalPermission principalPermission = (PrincipalPermission)target; if (principalPermission.IsUnrestricted()) { return(true); } if (this.IsUnrestricted()) { return(false); } for (int index1 = 0; index1 < this.m_array.Length; ++index1) { bool flag = false; for (int index2 = 0; index2 < principalPermission.m_array.Length; ++index2) { if (principalPermission.m_array[index2].m_authenticated == this.m_array[index1].m_authenticated && (principalPermission.m_array[index2].m_id == null || this.m_array[index1].m_id != null && this.m_array[index1].m_id.Equals(principalPermission.m_array[index2].m_id)) && (principalPermission.m_array[index2].m_role == null || this.m_array[index1].m_role != null && this.m_array[index1].m_role.Equals(principalPermission.m_array[index2].m_role))) { flag = true; break; } } if (!flag) { return(false); } } return(true); } catch (InvalidCastException ex) { throw new ArgumentException(Environment.GetResourceString("Argument_WrongType", (object)this.GetType().FullName)); } }
public IPermission Union(IPermission target) { PrincipalPermission pp = Cast(target); if (pp == null) { return(Copy()); } if (IsUnrestricted() || pp.IsUnrestricted()) { return(new PrincipalPermission(PermissionState.Unrestricted)); } PrincipalPermission union = new PrincipalPermission(principals); foreach (PrincipalInfo pi in pp.principals) { union.principals.Add(pi); } return(union); }
public IPermission Union(IPermission other) { if (other == null) { return(Copy()); } else if (!VerifyType(other)) { throw new ArgumentException(SR.Argument_WrongType, GetType().FullName); } PrincipalPermission operand = (PrincipalPermission)other; if (IsUnrestricted() || operand.IsUnrestricted()) { return(new PrincipalPermission(PermissionState.Unrestricted)); } IDRole[] idrolesArray = new IDRole[_idArray.Length + operand._idArray.Length]; Array.Copy(_idArray, 0, idrolesArray, 0, _idArray.Length); Array.Copy(operand._idArray, 0, idrolesArray, _idArray.Length, operand._idArray.Length); return(new PrincipalPermission(idrolesArray)); }
public void AuthenticatedNullNull () { PrincipalPermission p = new PrincipalPermission (null, null, true); Assert("UnauthenticatedNameRole.IsUnrestricted", p.IsUnrestricted ()); }
public void UnauthenticatedNameRole () { PrincipalPermission p = new PrincipalPermission ("user", "users", false); Assert("UnauthenticatedNameRole.IsUnrestricted", !p.IsUnrestricted ()); }
public void NameRole () { PrincipalPermission p = new PrincipalPermission ("user", "users", true); Assert("NameRole.IsUnrestricted", !p.IsUnrestricted ()); }
public void Role () { PrincipalPermission p = new PrincipalPermission (null, "users"); Assert("Role.IsUnrestricted", !p.IsUnrestricted ()); }
public void Name () { PrincipalPermission p = new PrincipalPermission ("user", null); Assert("Name.IsUnrestricted", !p.IsUnrestricted ()); }
/// <summary>创建并返回一个权限,该权限是当前权限和指定权限的交集。</summary> /// <returns>一个新权限,它表示当前权限与指定权限的交集。交集为空时,新权限将为 null。</returns> /// <param name="target">要与当前权限相交的权限。它必须与当前权限属于同一类型。</param> /// <exception cref="T:System.ArgumentException"> /// <paramref name="target" /> 参数不为 null,并且不是与当前权限属于相同类的实例。</exception> public IPermission Intersect(IPermission target) { if (target == null) { return((IPermission)null); } if (!this.VerifyType(target)) { throw new ArgumentException(Environment.GetResourceString("Argument_WrongType", (object)this.GetType().FullName)); } if (this.IsUnrestricted()) { return(target.Copy()); } PrincipalPermission principalPermission = (PrincipalPermission)target; if (principalPermission.IsUnrestricted()) { return(this.Copy()); } List <IDRole> idRoleList = (List <IDRole>)null; for (int index1 = 0; index1 < this.m_array.Length; ++index1) { for (int index2 = 0; index2 < principalPermission.m_array.Length; ++index2) { if (principalPermission.m_array[index2].m_authenticated == this.m_array[index1].m_authenticated) { if (principalPermission.m_array[index2].m_id == null || this.m_array[index1].m_id == null || this.m_array[index1].m_id.Equals(principalPermission.m_array[index2].m_id)) { if (idRoleList == null) { idRoleList = new List <IDRole>(); } idRoleList.Add(new IDRole() { m_id = principalPermission.m_array[index2].m_id == null ? this.m_array[index1].m_id : principalPermission.m_array[index2].m_id, m_role = principalPermission.m_array[index2].m_role == null || this.m_array[index1].m_role == null || this.m_array[index1].m_role.Equals(principalPermission.m_array[index2].m_role) ? (principalPermission.m_array[index2].m_role == null ? this.m_array[index1].m_role : principalPermission.m_array[index2].m_role) : "", m_authenticated = principalPermission.m_array[index2].m_authenticated }); } else if (principalPermission.m_array[index2].m_role == null || this.m_array[index1].m_role == null || this.m_array[index1].m_role.Equals(principalPermission.m_array[index2].m_role)) { if (idRoleList == null) { idRoleList = new List <IDRole>(); } idRoleList.Add(new IDRole() { m_id = "", m_role = principalPermission.m_array[index2].m_role == null ? this.m_array[index1].m_role : principalPermission.m_array[index2].m_role, m_authenticated = principalPermission.m_array[index2].m_authenticated }); } } } } if (idRoleList == null) { return((IPermission)null); } IDRole[] array = new IDRole[idRoleList.Count]; IEnumerator enumerator = (IEnumerator)idRoleList.GetEnumerator(); int num = 0; while (enumerator.MoveNext()) { array[num++] = (IDRole)enumerator.Current; } return((IPermission) new PrincipalPermission(array)); }
private void rtfcontrol_Load(object sender, System.EventArgs e) { //new FileIOPermission(PermissionState.Unrestricted).Assert(); PrincipalPermission P = new PrincipalPermission(PermissionState.Unrestricted); if(!P.IsUnrestricted()) Msg("Assigning Principal failed!"); else Msg("Assigning Principal passed!!"); SecurityPermission SP = new SecurityPermission(PermissionState.Unrestricted); if(!SP.IsUnrestricted()) Msg("Assigning SecurityPermission failed!"); else Msg("Assigning SecurityPermission passed!!"); try { SP.Assert(); } catch(Exception Err) { throw new Exception(Err.Message,Err.InnerException); } ListViewItem LVI = listView1.Items.Add(System.DateTime.Now.ToShortTimeString()); LVI.SubItems.Add("Contacting Server please wait..."); CodeAccessPermission.RevertAssert(); }
public void UnauthenticatedName () { PrincipalPermission p = new PrincipalPermission ("user", null, false); Assert.IsTrue(!p.IsUnrestricted (), "UnauthenticatedName.IsUnrestricted"); }
/// <summary>Creates and returns a permission that is the intersection of the current permission and the specified permission.</summary> /// <param name="target">A permission to intersect with the current permission. It must be of the same type as the current permission. </param> /// <returns>A new permission that represents the intersection of the current permission and the specified permission. This new permission will be <see langword="null" /> if the intersection is empty.</returns> /// <exception cref="T:System.ArgumentException">The <paramref name="target" /> parameter is not <see langword="null" /> and is not an instance of the same class as the current permission. </exception> // Token: 0x06002608 RID: 9736 RVA: 0x00088FB4 File Offset: 0x000871B4 public IPermission Intersect(IPermission target) { if (target == null) { return(null); } if (!this.VerifyType(target)) { throw new ArgumentException(Environment.GetResourceString("Argument_WrongType", new object[] { base.GetType().FullName })); } if (this.IsUnrestricted()) { return(target.Copy()); } PrincipalPermission principalPermission = (PrincipalPermission)target; if (principalPermission.IsUnrestricted()) { return(this.Copy()); } List <IDRole> list = null; for (int i = 0; i < this.m_array.Length; i++) { for (int j = 0; j < principalPermission.m_array.Length; j++) { if (principalPermission.m_array[j].m_authenticated == this.m_array[i].m_authenticated) { if (principalPermission.m_array[j].m_id == null || this.m_array[i].m_id == null || this.m_array[i].m_id.Equals(principalPermission.m_array[j].m_id)) { if (list == null) { list = new List <IDRole>(); } IDRole idrole = new IDRole(); idrole.m_id = ((principalPermission.m_array[j].m_id == null) ? this.m_array[i].m_id : principalPermission.m_array[j].m_id); if (principalPermission.m_array[j].m_role == null || this.m_array[i].m_role == null || this.m_array[i].m_role.Equals(principalPermission.m_array[j].m_role)) { idrole.m_role = ((principalPermission.m_array[j].m_role == null) ? this.m_array[i].m_role : principalPermission.m_array[j].m_role); } else { idrole.m_role = ""; } idrole.m_authenticated = principalPermission.m_array[j].m_authenticated; list.Add(idrole); } else if (principalPermission.m_array[j].m_role == null || this.m_array[i].m_role == null || this.m_array[i].m_role.Equals(principalPermission.m_array[j].m_role)) { if (list == null) { list = new List <IDRole>(); } list.Add(new IDRole { m_id = "", m_role = ((principalPermission.m_array[j].m_role == null) ? this.m_array[i].m_role : principalPermission.m_array[j].m_role), m_authenticated = principalPermission.m_array[j].m_authenticated }); } } } } if (list == null) { return(null); } IDRole[] array = new IDRole[list.Count]; IEnumerator enumerator = list.GetEnumerator(); int num = 0; while (enumerator.MoveNext()) { object obj = enumerator.Current; array[num++] = (IDRole)obj; } return(new PrincipalPermission(array)); }
public void Role () { PrincipalPermission p = new PrincipalPermission (null, "users"); Assert.IsTrue(!p.IsUnrestricted (), "Role.IsUnrestricted"); }
public IPermission Intersect(IPermission target) { if (target == null) { return(null); } else if (!VerifyType(target)) { throw new ArgumentException( Environment.GetResourceString("Argument_WrongType", this.GetType().FullName) ); } else if (this.IsUnrestricted()) { return(target.Copy()); } PrincipalPermission operand = (PrincipalPermission)target; if (operand.IsUnrestricted()) { return(this.Copy()); } List <IDRole> idroles = null; for (int i = 0; i < this.m_array.Length; ++i) { for (int j = 0; j < operand.m_array.Length; ++j) { if (operand.m_array[j].m_authenticated == this.m_array[i].m_authenticated) { if (operand.m_array[j].m_id == null || this.m_array[i].m_id == null || this.m_array[i].m_id.Equals(operand.m_array[j].m_id)) { if (idroles == null) { idroles = new List <IDRole>(); } IDRole idrole = new IDRole(); idrole.m_id = operand.m_array[j].m_id == null ? this.m_array[i].m_id : operand.m_array[j].m_id; if (operand.m_array[j].m_role == null || this.m_array[i].m_role == null || this.m_array[i].m_role.Equals(operand.m_array[j].m_role)) { idrole.m_role = operand.m_array[j].m_role == null ? this.m_array[i].m_role : operand.m_array[j].m_role; } else { idrole.m_role = ""; } idrole.m_authenticated = operand.m_array[j].m_authenticated; idroles.Add(idrole); } else if (operand.m_array[j].m_role == null || this.m_array[i].m_role == null || this.m_array[i].m_role.Equals(operand.m_array[j].m_role)) { if (idroles == null) { idroles = new List <IDRole>(); } IDRole idrole = new IDRole(); idrole.m_id = ""; idrole.m_role = operand.m_array[j].m_role == null ? this.m_array[i].m_role : operand.m_array[j].m_role; idrole.m_authenticated = operand.m_array[j].m_authenticated; idroles.Add(idrole); } } } } if (idroles == null) { return(null); } else { IDRole[] idrolesArray = new IDRole[idroles.Count]; IEnumerator idrolesEnumerator = idroles.GetEnumerator(); int index = 0; while (idrolesEnumerator.MoveNext()) { idrolesArray[index++] = (IDRole)idrolesEnumerator.Current; } return(new PrincipalPermission(idrolesArray)); } }
public void Name () { PrincipalPermission p = new PrincipalPermission ("user", null); Assert.IsTrue(!p.IsUnrestricted (), "Name.IsUnrestricted"); }
public void UnauthenticatedRole () { PrincipalPermission p = new PrincipalPermission (null, "users", false); Assert.IsTrue(!p.IsUnrestricted (), "UnauthenticatedRole.IsUnrestricted"); }