Freigeben über


IApplicationTrustManager.DetermineApplicationTrust Methode

Definition

Bestimmt, ob eine Anwendung ausgeführt werden soll, und welcher Berechtigungssatz dieser Anwendung gewährt werden soll.

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

Parameter

activationContext
ActivationContext

Der Aktivierungskontext für die Anwendung.

context
TrustManagerContext

Der Trust-Manager-Kontext für die Anwendung.

Gibt zurück

Ein Objekt, das Sicherheitsentscheidungen zur Anwendung enthält.

Beispiele

Das folgende Beispiel zeigt eine Implementierung der DetermineApplicationTrust -Methode für einen benutzerdefinierten Vertrauens-Manager. Dieses Codebeispiel ist Teil eines größeren Beispiels für die IApplicationTrustManager -Schnittstelle.

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

Hinweise

Die DetermineApplicationTrust -Methode wird vom Host aufgerufen, um zu bestimmen, ob eine Anwendung ausgeführt werden soll und welcher Berechtigungssatz erteilt werden soll. DetermineApplicationTrust gibt ein ApplicationTrust -Objekt mit einer DefaultGrantSet -Eigenschaft zurück, die einen Berechtigungssatz enthält, der die Berechtigungen darstellt, die jeder Assembly erteilt werden sollen, die im Kontext der Anwendung ausgeführt wird. Die gewährten Berechtigungen gelten nicht für Assemblys im globalen Assemblycache. Das ApplicationTrust -Objekt verfügt auch über eine IsApplicationTrustedToRun Eigenschaft, die der Vertrauensverwalter festlegt, um anzugeben, ob die Anwendung vertrauenswürdig sein soll. Wenn der Vertrauens-Manager angibt, dass die Anwendung als vertrauenswürdig eingestuft werden kann, aktiviert der Host die Anwendung und gewährt ihren Assemblys den In der ApplicationTrust Auflistung bereitgestellten Berechtigungssatz.

Gilt für: