IApplicationTrustManager.DetermineApplicationTrust Método

Definição

Determina se uma candidatura deve ser executada e que conjunto de permissões deve ser concedido a ela.

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

O contexto de ativação da aplicação.

context
TrustManagerContext

O contexto do gestor de confianças para a aplicação.

Devoluções

Um objeto que contém decisões de segurança sobre a aplicação.

Exemplos

O exemplo seguinte mostra uma implementação do DetermineApplicationTrust método para um gestor de confianças personalizado. Este exemplo de código faz parte de um exemplo maior fornecido para a IApplicationTrustManager interface.

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

Observações

O DetermineApplicationTrust método é chamado pelo anfitrião para determinar se uma aplicação deve ser executada e que conjunto de permissões deve ser concedida. DetermineApplicationTrust devolve um ApplicationTrust objeto com uma DefaultGrantSet propriedade que contém um conjunto de permissões que representa as permissões a serem concedidas a cada assembly em execução no contexto da aplicação. As permissões concedidas não se aplicam a assemblies na cache global de assembly. O ApplicationTrust objeto também tem uma IsApplicationTrustedToRun propriedade que o gestor do trust define para indicar se a aplicação deve ser confiável. Se o gestor de confiança indicar que a aplicação pode ser confiável, o host ativa a aplicação e concede aos seus assemblies o conjunto de permissões fornecido na ApplicationTrust coleção.

Aplica-se a