Partilhar via


IApplicationTrustManager.DetermineApplicationTrust Método

Definição

Determina se um aplicativo deve ser executado e qual conjunto de permissões deve ser concedido a ele.

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 para o aplicativo.

context
TrustManagerContext

O contexto do gerenciador de confiança para o aplicativo.

Retornos

ApplicationTrust

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

Exemplos

O exemplo a seguir mostra uma implementação do DetermineApplicationTrust método para um gerenciador de confiança 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

Comentários

O DetermineApplicationTrust método é chamado pelo host para determinar se um aplicativo deve ser executado e qual conjunto de permissões ele deve ser concedido. DetermineApplicationTrust retorna 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 dentro do contexto do aplicativo. As permissões concedidas não se aplicam a assemblies no cache de assembly global. O ApplicationTrust objeto também tem uma IsApplicationTrustedToRun propriedade que o gerenciador de confiança define para indicar se o aplicativo deve ser confiável. Se o gerenciador de confiança indicar que o aplicativo pode ser confiável, o host ativará o aplicativo e concederá aos assemblies o conjunto de permissões fornecido na ApplicationTrust coleção.

Aplica-se a