Partager via


IApplicationTrustManager.DetermineApplicationTrust Méthode

Définition

Détermine si une application doit être exécutée et quel jeu d'autorisations doit lui être accordé.

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

Paramètres

activationContext
ActivationContext

Contexte d'activation de l'application.

context
TrustManagerContext

Contexte du gestionnaire de confiance de l'application.

Retours

Objet qui contient les décisions de sécurité sur l'application.

Exemples

L’exemple suivant montre une implémentation de la DetermineApplicationTrust méthode pour un gestionnaire d’approbations personnalisé. Cet exemple de code fait partie d’un exemple plus grand fourni pour l’interface IApplicationTrustManager .

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

Remarques

La DetermineApplicationTrust méthode est appelée par l’hôte pour déterminer si une application doit être exécutée et quel jeu d’autorisations elle doit lui accorder. DetermineApplicationTrust retourne un ApplicationTrust objet avec une DefaultGrantSet propriété qui contient un jeu d’autorisations représentant les autorisations à accorder à chaque assembly s’exécutant dans le contexte de l’application. Les autorisations accordées ne s’appliquent pas aux assemblys dans le Global Assembly Cache. L’objet ApplicationTrust a également une IsApplicationTrustedToRun propriété que le gestionnaire d’approbations définit pour indiquer si l’application doit être approuvée. Si le gestionnaire d’approbations indique que l’application peut être approuvée, l’hôte active l’application et accorde à ses assemblys le jeu d’autorisations fourni dans la ApplicationTrust collection.

S’applique à