Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este tema aún no ha recibido ninguna valoración - Valorar este tema

SecurityPermissionFlag (Enumeración)

Actualización: noviembre 2007

Especifica indicadores de acceso para el objeto de permiso de seguridad.

Esta enumeración tiene un atributo ComVisibleAttribute que permite una combinación bit a bit de los valores de miembro.

Espacio de nombres:  System.Security.Permissions
Ensamblado:  mscorlib (en mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
[FlagsAttribute]
public enum SecurityPermissionFlag
/** @attribute SerializableAttribute */ 
/** @attribute ComVisibleAttribute(true) */
/** @attribute FlagsAttribute */
public enum SecurityPermissionFlag
public enum SecurityPermissionFlag
Nombre de miembroDescripción
NoFlagsNo hay acceso de seguridad.
AssertionPosibilidad de afirmar que todos los llamadores de este código tienen el permiso necesario para la operación.
UnmanagedCodePosibilidad de llamar a código no administrado.
SkipVerificationPosibilidad de omitir la comprobación del código en este ensamblado. El código que no se puede comprobar se puede ejecutar si se concede este permiso.
ExecutionPermiso para ejecutar el código. Sin este permiso el código administrado no se ejecutará.
ControlThreadPosibilidad de utilizar determinadas operaciones avanzadas en subprocesos.
ControlEvidencePosibilidad de proporcionar pruebas, que incluye la posibilidad de modificar las pruebas proporcionadas por Common Language Runtime.
ControlPolicyPosibilidad de ver y modificar la directiva.
SerializationFormatterPosibilidad de proporcionar servicios de serialización. Utilizado por formateadores de serialización.
ControlDomainPolicyPosibilidad de especificar una directiva de dominio.
ControlPrincipalPosibilidad de manipular el objeto principal.
ControlAppDomainPosibilidad de crear y manipular AppDomain.
RemotingConfigurationPermiso para configurar canales y tipo remotos.
InfrastructurePermiso para conectar código a la infraestructura de Common Language Runtime, como agregar receptores de contexto remoto, receptores de envío y receptores dinámicos.
BindingRedirectsPermiso para realizar redirección de enlace explícita en el archivo de configuración de la aplicación. Esto incluye la redirección de los ensamblados de .NET Framework que han sido unificados además de otros ensamblados encontrados fuera de .NET Framework.
AllFlagsEstado no restringido del permiso.

Esta enumeración tiene un atributo FlagsAttribute que permite una combinación bit a bit de los valores de su miembro.

SecurityPermission utiliza esta enumeración.

xc5yzfbx.alert_caution(es-es,VS.90).gifPrecaución:

Muchos de estos indicadores son eficaces y solamente deben concederse a código de plena confianza.

El ejemplo de código siguiente muestra el uso de la enumeración SecurityPermissionFlag para denegar y exigir los permisos de seguridad.

// This sample demonstrates the use of the SecurityPermissionAttribute.

using System;
using System.Security.Permissions;
using System.Security;


class MyClass
{
    public static void PermissionDemo()
    {
        try
        {
            DenySecurityPermissions();
            DenyAllSecurityPermissions();
            DoNotDenySecurityPermissions();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message.ToString());
        }



    }

    // This method demonstrates the use of the SecurityPermissionAttribute to deny individual security permissions.
    // Set the Assertion property.
    [SecurityPermissionAttribute(SecurityAction.Deny, Assertion = true)]
        // Set the ControlAppDomain property.
    [SecurityPermissionAttribute(SecurityAction.Deny, ControlAppDomain = true)]
        // Set the ControlDomainPolicy property.
    [SecurityPermissionAttribute(SecurityAction.Deny, ControlDomainPolicy = true)]
        // Set the ControlEvidence property.
    [SecurityPermissionAttribute(SecurityAction.Deny, ControlEvidence = true)]
        // Set the ControlPolicy property.
    [SecurityPermissionAttribute(SecurityAction.Deny, ControlPolicy = true)]
        // Set the ControlPrincipal property.
    [SecurityPermissionAttribute(SecurityAction.Deny, ControlPrincipal = true)]
        // Set the ControlThread property.
    [SecurityPermissionAttribute(SecurityAction.Deny, ControlThread = true)]
        // Set the Execution property.
    [SecurityPermissionAttribute(SecurityAction.Deny, Execution = true)]
        // Set the Flags property.
    [SecurityPermissionAttribute(SecurityAction.Deny, Flags = SecurityPermissionFlag.NoFlags)]
        // Set the Infrastructure property.
    [SecurityPermissionAttribute(SecurityAction.Deny, Infrastructure = true)]
        // Set the RemotingConfiguration property.
    [SecurityPermissionAttribute(SecurityAction.Deny, RemotingConfiguration = true)]
        // Set the SerializationFormatter property.
    [SecurityPermissionAttribute(SecurityAction.Deny, SerializationFormatter = true)]
        // Set the SkipVerification property.
    [SecurityPermissionAttribute(SecurityAction.Deny, SkipVerification = true)]
        // Set the UnmanagedCode property.
    [SecurityPermissionAttribute(SecurityAction.Deny, UnmanagedCode = true)]

    public static void DenySecurityPermissions()
    {
        Console.WriteLine("Executing DenySecurityPermissions.");
        Console.WriteLine("Denied all permissions individually.");
        TestSecurityPermissions();
    }

    // This method demonstrates the use of SecurityPermissionFlag.AllFlags to deny all security permissions.
    [SecurityPermissionAttribute(SecurityAction.Deny, Flags = SecurityPermissionFlag.AllFlags)]
    public static void DenyAllSecurityPermissions()
    {
        Console.WriteLine("\nExecuting DenyAllSecurityPermissions.");
        Console.WriteLine("Denied all permissions using SecurityPermissionFlag.AllFlags.");
        TestSecurityPermissions();
    }

    // This method demonstrates the effect of not denying security permissions.
    public static void DoNotDenySecurityPermissions()
    {
        Console.WriteLine("\nExecuting DoNotDenySecurityPermissions.");
        Console.WriteLine("No permissions have been denied.");
        DemandSecurityPermissions();
    }

    public static void TestSecurityPermissions()
    {
        Console.WriteLine("\nExecuting TestSecurityPermissions.\n");
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.Assertion);
            Console.WriteLine("Demanding SecurityPermissionFlag.Assertion");
            // This demand should cause an exception.
            sp.Demand();
            // The TestFailed method is called if an exception is not thrown.
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.Assertion failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlAppDomain);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlAppDomain");
            sp.Demand();
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlDomainPolicy);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlDomainPolicy");
            sp.Demand();
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlEvidence);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlEvidence");
            sp.Demand();
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlPolicy);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlPolicy");
            sp.Demand();
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlPrincipal);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlPrincipal");
            sp.Demand();
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlThread);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlThread");
            sp.Demand();
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.Execution);
            Console.WriteLine("Demanding SecurityPermissionFlag.Execution");
            sp.Demand();
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.Execution failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.Infrastructure);
            Console.WriteLine("Demanding SecurityPermissionFlag.Infrastructure");
            sp.Demand();
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.RemotingConfiguration);
            Console.WriteLine("Demanding SecurityPermissionFlag.RemotingConfiguration");
            sp.Demand();
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.SerializationFormatter);
            Console.WriteLine("Demanding SecurityPermissionFlag.SerializationFormatter");
            sp.Demand();
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.SkipVerification);
            Console.WriteLine("Demanding SecurityPermissionFlag.SkipVerification");
            sp.Demand();
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.UnmanagedCode);
            Console.WriteLine("Demanding SecurityPermissionFlag.UnmanagedCode");
            // This demand should cause an exception.
            sp.Demand();
            // The TestFailed method is called if an exception is not thrown.
            TestFailed();
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode failed: " + e.Message);
        }

    }

    public static void TestFailed()
    {
        Console.WriteLine("In TestFailed method.");
        Console.WriteLine("Throwing an exception.");
        throw new Exception();
    }
	
    public static void DemandSecurityPermissions()
    {
        Console.WriteLine("\nExecuting DemandSecurityPermissions.\n");
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.Assertion);
            Console.WriteLine("Demanding SecurityPermissionFlag.Assertion");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.Assertion succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.Assertion failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlAppDomain);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlAppDomain");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlDomainPolicy);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlDomainPolicy");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlEvidence);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlEvidence");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlPolicy);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlPolicy");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlPrincipal);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlPrincipal");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.ControlThread);
            Console.WriteLine("Demanding SecurityPermissionFlag.ControlThread");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.Execution);
            Console.WriteLine("Demanding SecurityPermissionFlag.Execution");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.Execution succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.Execution failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.Infrastructure);
            Console.WriteLine("Demanding SecurityPermissionFlag.Infrastructure");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.RemotingConfiguration);
            Console.WriteLine("Demanding SecurityPermissionFlag.RemotingConfiguration");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.SerializationFormatter);
            Console.WriteLine("Demanding SecurityPermissionFlag.SerializationFormatter");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.SkipVerification);
            Console.WriteLine("Demanding SecurityPermissionFlag.SkipVerification");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification failed: " + e.Message);
        }
        try
        {
            SecurityPermission sp =
                new SecurityPermission(SecurityPermissionFlag.UnmanagedCode);
            Console.WriteLine("Demanding SecurityPermissionFlag.UnmanagedCode");
            sp.Demand();
            Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode succeeded.");
        }
        catch (Exception e)
        {
            Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode failed: " + e.Message);
        }

    }

    static void Main(string[] args)
    {
        PermissionDemo();
    }

}


// This sample demonstrates the use of the SecurityPermissionAttribute.

import System.*;
import System.Security.Permissions.*;
import System.Security.*;

class MyClass
{
    public static void PermissionDemo() 
    {
        try {
            DenySecurityPermissions();
            DenyAllSecurityPermissions();
            DoNotDenySecurityPermissions();
        }
        catch (System.Exception e) {
            Console.WriteLine(e.get_Message().ToString());
        }
    } //PermissionDemo   

    // This method demonstrates the use of the SecurityPermissionAttribute 
    // to deny individual security permissions.
    // Set the Assertion property.

    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        Assertion = true)
     */

    // Set the ControlAppDomain property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        ControlAppDomain = true)
     */

    // Set the ControlDomainPolicy property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        ControlDomainPolicy = true)
     */

    // Set the ControlEvidence property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        ControlEvidence = true)
     */

    // Set the ControlPolicy property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        ControlPolicy = true)
     */

    // Set the ControlPrincipal property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        ControlPrincipal = true)
     */

    // Set the ControlThread property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        ControlThread = true)
     */

    // Set the Execution property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        Execution = true)
     */

    // Set the Flags property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        Flags = SecurityPermissionFlag.NoFlags)
     */

    // Set the Infrastructure property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        Infrastructure = true)
     */

    // Set the RemotingConfiguration property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        RemotingConfiguration = true)
     */

    // Set the SerializationFormatter property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        SerializationFormatter = true)
     */

    // Set the SkipVerification property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        SkipVerification = true)
     */

    // Set the UnmanagedCode property.
    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        UnmanagedCode = true)
     */

    public static void DenySecurityPermissions() 
    {
        Console.WriteLine("Executing DenySecurityPermissions.");
        Console.WriteLine("Denied all permissions individually.");
        TestSecurityPermissions();
    } //DenySecurityPermissions  

    // This method demonstrates the use of SecurityPermissionFlag.AllFlags 
    // to deny all security permissions.

    /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, 
        Flags = SecurityPermissionFlag.AllFlags)
     */

    public static void DenyAllSecurityPermissions() 
    {
        Console.WriteLine("\nExecuting DenyAllSecurityPermissions.");
        Console.WriteLine("Denied all permissions using " + 
        "SecurityPermissionFlag.AllFlags.");
        TestSecurityPermissions();
    } //DenyAllSecurityPermissions


    // This method demonstrates the effect of not denying security permissions.
    public static void DoNotDenySecurityPermissions() 
    {
        Console.WriteLine("\nExecuting DoNotDenySecurityPermissions.");
        Console.WriteLine("No permissions have been denied.");
        DemandSecurityPermissions();
    } //DoNotDenySecurityPermissions


    public static void TestSecurityPermissions() 
    {
        Console.WriteLine("\nExecuting TestSecurityPermissions.\n");
        try {
            SecurityPermission sp =  
                new SecurityPermission(SecurityPermissionFlag.Assertion);
            Console.WriteLine("Demanding SecurityPermissionFlag.Assertion");
            // This demand should cause an exception.
            sp.Demand();
            // The TestFailed method is called if an exception is not thrown.
            TestFailed();
        }
        catch (System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.Assertion failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
            new SecurityPermission(SecurityPermissionFlag.ControlAppDomain);
            Console.WriteLine("Demanding " + 
            "SecurityPermissionFlag.ControlAppDomain");
            sp.Demand();
            TestFailed();
        }
        catch (System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlAppDomain failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.ControlDomainPolicy);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.ControlDomainPolicy");
            sp.Demand();
            TestFailed();
        }
        catch (System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlDomainPolicy failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.ControlEvidence);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.ControlEvidence");
            sp.Demand();
            TestFailed();
        }
        catch (System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlEvidence failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.ControlPolicy);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.ControlPolicy");
            sp.Demand();
            TestFailed();
        }
        catch (System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlPolicy failed: " + 
            e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.ControlPrincipal);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.ControlPrincipal");
            sp.Demand();
            TestFailed();
        }
        catch (System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlPrincipal failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
            new SecurityPermission(SecurityPermissionFlag.ControlThread);
            Console.WriteLine("Demanding " 
            + "SecurityPermissionFlag.ControlThread");
            sp.Demand();
            TestFailed();
        }
        catch (System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlThread failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
            new SecurityPermission(SecurityPermissionFlag.Execution);
            Console.WriteLine("Demanding SecurityPermissionFlag.Execution");
            sp.Demand();
            TestFailed();
        }
        catch (System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.Execution failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
            new SecurityPermission(SecurityPermissionFlag.Infrastructure);
            Console.WriteLine("Demanding " + 
            "SecurityPermissionFlag.Infrastructure");
            sp.Demand();
            TestFailed();
        }
        catch (System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.Infrastructure failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.RemotingConfiguration);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.RemotingConfiguration");
            sp.Demand();
            TestFailed();
        }
        catch (System.Exception e) { 
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.RemotingConfiguration failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.SerializationFormatter);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.SerializationFormatter");
            sp.Demand();
            TestFailed();
        }
        catch (System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.SerializationFormatter failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.SkipVerification);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.SkipVerification");
            sp.Demand();
            TestFailed();
        }
        catch (System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.SkipVerification failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.UnmanagedCode);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.UnmanagedCode");
            // This demand should cause an exception.
            sp.Demand();
            // The TestFailed method is called if an exception is not thrown.
            TestFailed();
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.UnmanagedCode failed: " 
                + e.get_Message()));
        }
    } //TestSecurityPermissions

    public static void TestFailed() throws Exception
    {
        Console.WriteLine("In TestFailed method.");
        Console.WriteLine("Throwing an exception.");
        throw new Exception() ;
    } //TestFailed

    public static void DemandSecurityPermissions() 
    {
        Console.WriteLine("\nExecuting DemandSecurityPermissions.\n");
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.Assertion);
            Console.WriteLine("Demanding SecurityPermissionFlag.Assertion");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.Assertion succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.Assertion failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.ControlAppDomain);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.ControlAppDomain");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.ControlAppDomain succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlAppDomain failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.ControlDomainPolicy);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.ControlDomainPolicy");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.ControlDomainPolicy succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlDomainPolicy failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.ControlEvidence);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.ControlEvidence");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.ControlEvidence succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlEvidence failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.ControlPolicy);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.ControlPolicy");
            sp.Demand();
            Console.WriteLine("Demand " 
            + "for SecurityPermissionFlag.ControlPolicy succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlPolicy failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.ControlPrincipal);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.ControlPrincipal");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.ControlPrincipal succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlPrincipal failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.ControlThread);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.ControlThread");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.ControlThread succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.ControlThread failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.Execution);
            Console.WriteLine("Demanding SecurityPermissionFlag.Execution");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.Execution succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.Execution failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.Infrastructure);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.Infrastructure");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.Infrastructure succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.Infrastructure failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.RemotingConfiguration);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.RemotingConfiguration");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.RemotingConfiguration succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.RemotingConfiguration failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.SerializationFormatter);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.SerializationFormatter");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.SerializationFormatter succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.SerializationFormatter failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.SkipVerification);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.SkipVerification");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.SkipVerification succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.SkipVerification failed: " 
                + e.get_Message()));
        }
        try {
            SecurityPermission sp =  
                new SecurityPermission(
                SecurityPermissionFlag.UnmanagedCode);
            Console.WriteLine("Demanding " 
                + "SecurityPermissionFlag.UnmanagedCode");
            sp.Demand();
            Console.WriteLine("Demand for " 
                + "SecurityPermissionFlag.UnmanagedCode succeeded.");
        }
        catch(System.Exception e) {
            Console.WriteLine(("Demand for " 
                + "SecurityPermissionFlag.UnmanagedCode failed: " 
                + e.get_Message()));
        }
    } //DemandSecurityPermissions

    public static void main(String[] args)
    {
        PermissionDemo();
    } //main
} //MyClass 


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.