IApplicationTrustManager.DetermineApplicationTrust Método

Definición

Determina si se debería ejecutar una aplicación y qué conjunto de permisos se le debería conceder.

public:
 System::Security::Policy::ApplicationTrust ^ DetermineApplicationTrust(ActivationContext ^ activationContext, System::Security::Policy::TrustManagerContext ^ context);
public System.Security.Policy.ApplicationTrust DetermineApplicationTrust (ActivationContext activationContext, System.Security.Policy.TrustManagerContext context);
abstract member DetermineApplicationTrust : ActivationContext * System.Security.Policy.TrustManagerContext -> System.Security.Policy.ApplicationTrust
Public Function DetermineApplicationTrust (activationContext As ActivationContext, context As TrustManagerContext) As ApplicationTrust

Parámetros

activationContext
ActivationContext

Contexto de activación para la aplicación.

context
TrustManagerContext

El contexto del administrador de confianza para la aplicación.

Devoluciones

Objeto que contiene decisiones de seguridad sobre la aplicación.

Ejemplos

En el ejemplo siguiente se muestra una implementación del DetermineApplicationTrust método para un administrador de confianza personalizado. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para la IApplicationTrustManager interfaz .

public ApplicationTrust DetermineApplicationTrust(ActivationContext appContext, TrustManagerContext context)
{
    ApplicationTrust trust = new ApplicationTrust(appContext.Identity);
    trust.IsApplicationTrustedToRun = false;

    ApplicationSecurityInfo asi = new ApplicationSecurityInfo(appContext);
    trust.DefaultGrantSet = new PolicyStatement(asi.DefaultRequestSet, PolicyStatementAttribute.Nothing);
    if (context.UIContext == TrustManagerUIContext.Run)
    {
        string message = "Do you want to run " + asi.ApplicationId.Name + " ?";
        string caption = "MyTrustManager";
        MessageBoxButtons buttons = MessageBoxButtons.YesNo;
        DialogResult result;

        // Displays the MessageBox.

        result = MessageBox.Show(message, caption, buttons);

        if (result == DialogResult.Yes)
        {
            trust.IsApplicationTrustedToRun = true;
            if (context != null)
                trust.Persist = context.Persist;
            else
                trust.Persist = false;
        }
    }

    return trust;
}
Public Function DetermineApplicationTrust(ByVal appContext As ActivationContext, ByVal context As TrustManagerContext) As ApplicationTrust Implements IApplicationTrustManager.DetermineApplicationTrust
    Dim trust As New ApplicationTrust(appContext.Identity)
    trust.IsApplicationTrustedToRun = False

    Dim asi As New ApplicationSecurityInfo(appContext)
    trust.DefaultGrantSet = New PolicyStatement(asi.DefaultRequestSet, _
    PolicyStatementAttribute.Nothing)
    If context.UIContext = TrustManagerUIContext.Run Then
        Dim message As String = "Do you want to run " + asi.ApplicationId.Name + " ?"
        Dim caption As String = "MyTrustManager"
        Dim buttons As MessageBoxButtons = MessageBoxButtons.YesNo
        Dim result As DialogResult

        ' Displays the MessageBox.
        result = MessageBox.Show(message, caption, buttons)

        If result = DialogResult.Yes Then
            trust.IsApplicationTrustedToRun = True
            If Not (context Is Nothing) Then
                trust.Persist = context.Persist
            Else
                trust.Persist = False
            End If
        End If
    End If
    Return trust

End Function 'DetermineApplicationTrust

Comentarios

El DetermineApplicationTrust host llama al método para determinar si se debe ejecutar una aplicación y qué conjunto de permisos se debe conceder. DetermineApplicationTrust devuelve un ApplicationTrust objeto con una DefaultGrantSet propiedad que contiene un conjunto de permisos que representa los permisos que se van a conceder a cada ensamblado que se ejecuta en el contexto de la aplicación. Los permisos concedidos no se aplican a los ensamblados de la caché global de ensamblados. El ApplicationTrust objeto también tiene una IsApplicationTrustedToRun propiedad que el administrador de confianza establece para indicar si la aplicación debe ser de confianza. Si el administrador de confianza indica que la aplicación puede ser de confianza, el host activa la aplicación y concede a sus ensamblados el conjunto de permisos proporcionados en la ApplicationTrust colección.

Se aplica a