Sdílet prostřednictvím


IApplicationTrustManager.DetermineApplicationTrust Metoda

Definice

Určuje, zda má být aplikace spuštěna a jaká sada oprávnění by jí měla být udělena.

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

Kontext aktivace aplikace.

context
TrustManagerContext

Kontext správce důvěryhodnosti pro aplikaci.

Návraty

Objekt, který obsahuje rozhodnutí o zabezpečení aplikace.

Příklady

Následující příklad ukazuje implementaci DetermineApplicationTrust metody pro vlastní správce důvěryhodnosti. Tento příklad kódu je součástí většího příkladu IApplicationTrustManager pro rozhraní.

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

Poznámky

Metoda DetermineApplicationTrust je volána hostitelem k určení, zda má být aplikace spuštěna a jakou sadu oprávnění by měla být udělena. DetermineApplicationTrustApplicationTrust vrátí objekt s DefaultGrantSet vlastností, která obsahuje sadu oprávnění představující oprávnění, která mají být udělena každému sestavení spuštěným v kontextu aplikace. Udělená oprávnění se nevztahují na sestavení v globální mezipaměti sestavení (GPA). Objekt ApplicationTrustIsApplicationTrustedToRun také vlastnost, kterou správce důvěryhodnosti nastaví k označení, zda má být aplikace důvěryhodná. Pokud správce důvěryhodnosti označí, že aplikace může být důvěryhodná, hostitel aplikaci aktivuje a udělí jejím sestavením sadu oprávnění poskytovaných v kolekci ApplicationTrust .

Platí pro