IsUnrestricted() public method

public IsUnrestricted ( ) : bool
return bool
		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");
		}
Beispiel #5
0
        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);
        }
Beispiel #6
0
        /// <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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
        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));
        }
Beispiel #9
0
        /// <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));
     }
 }
Beispiel #11
0
        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);
        }
Beispiel #12
0
        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));
        }
Beispiel #19
0
        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");
		}
Beispiel #21
0
        /// <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");
		}
Beispiel #23
0
        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");
		}