Beispiel #1
0
 /// <summary>
 /// DemandSuccedsAfterDeny
 /// </summary>
 /// <param name="toDeny"></param>
 /// <returns></returns>
 internal static bool DemandSuccedsAfterDeny(PermissionSet toDeny)
 {
     toDeny.Deny();
     try
     {
         TransparentSecurityHelper.Demand(toDeny);
         return(true);
     }
     catch (SecurityException)
     {
         return(false);
     }
 }
Beispiel #2
0
 /// <summary>
 /// DemandSuccedsAfterAssert
 /// </summary>
 /// <param name="toAssert"></param>
 /// <param name="toDemand"></param>
 /// <returns>true if assert stopped demand; false if assert didn't stop demand</returns>
 internal static bool DemandSuccedsAfterAssert(PermissionSet toAssert, PermissionSet toDemand)
 {
     toAssert.Assert();
     try
     {
         TransparentSecurityHelper.Demand(toDemand);
         return(true);
     }
     catch (SecurityException)
     {
         return(false);
     }
 }
Beispiel #3
0
        /// <summary>
        /// TestAssert
        /// </summary>
        /// <param name="toPermitOnly"></param>
        /// <param name="toDemand"></param>
        /// <returns>true if assert stopped demand; false if assert didn't stop demand</returns>
        internal static bool DemandSuccedsAfterPermitOnly(PermissionSet toPermitOnly, PermissionSet toDemand)
        {
            // assert full trust first
            new PermissionSet(PermissionState.Unrestricted).Assert();

            // permit only given permission set
            toPermitOnly.PermitOnly();
            try
            {
                TransparentSecurityHelper.Demand(toDemand);
                return(true);
            }
            catch (SecurityException)
            {
                return(false);
            }
        }