Udostępnij za pośrednictwem


IApplicationTrustManager.DetermineApplicationTrust Metoda

Definicja

Określa, czy aplikacja powinna być wykonywana, a który zestaw uprawnień ma zostać przyznany.

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

Parametry

activationContext
ActivationContext

Kontekst aktywacji aplikacji.

context
TrustManagerContext

Kontekst menedżera zaufania dla aplikacji.

Zwraca

ApplicationTrust

Obiekt zawierający decyzje dotyczące zabezpieczeń aplikacji.

Przykłady

W poniższym przykładzie pokazano implementację metody niestandardowego DetermineApplicationTrust menedżera zaufania. Ten przykład kodu jest częścią większego przykładu udostępnionego dla interfejsu 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

Uwagi

Metoda jest wywoływana DetermineApplicationTrust przez hosta w celu określenia, czy aplikacja powinna być wykonywana, oraz jaki zestaw uprawnień ma zostać przyznany. DetermineApplicationTrustApplicationTrust Zwraca obiekt z właściwością DefaultGrantSet zawierającą zestaw uprawnień reprezentujący uprawnienia, które mają zostać przyznane każdemu zestawowi wykonywanemu w kontekście aplikacji. Przyznane uprawnienia nie mają zastosowania do zestawów w globalnej pamięci podręcznej zestawów. Obiekt ApplicationTrust ma IsApplicationTrustedToRun również właściwość, którą menedżer zaufania ustawia, aby wskazać, czy aplikacja powinna być zaufana. Jeśli menedżer zaufania wskazuje, że aplikacja może być zaufana, host aktywuje aplikację i przyznaje jej zestawy zestawu uprawnień podanych w ApplicationTrust kolekcji.

Dotyczy