/// <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); } }
/// <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); } }
/// <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); } }