IApplicationTrustManager.DetermineApplicationTrust Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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.