Sdílet prostřednictvím


IApplicationTrustManager.DetermineApplicationTrust Metoda

Definice

Určuje, jestli se má aplikace spouštět 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ího správce důvěryhodnosti. Tento příklad kódu je součástí většího příkladu zadaného 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 jaká sada oprávnění by měla být udělena. DetermineApplicationTrust ApplicationTrust 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í. Objekt ApplicationTrustIsApplicationTrustedToRun také vlastnost, kterou správce důvěryhodnosti nastaví tak, aby indikoval, zda má být aplikace důvěryhodná. Pokud správce důvěryhodnosti indikuje, že aplikace může být důvěryhodná, hostitel aplikaci aktivuje a udělí jeho sestavení sadě oprávnění poskytovaných v kolekci ApplicationTrust .

Platí pro