IApplicationTrustManager.DetermineApplicationTrust Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Determina se un'applicazione deve essere eseguita e con quale set di autorizzazioni.
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
Parametri
- activationContext
- ActivationContext
Contesto di attivazione per l'applicazione.
- context
- TrustManagerContext
Contesto del gestore di attendibilità per l'applicazione.
Restituisce
Oggetto che contiene decisioni relative alla sicurezza sull'applicazione.
Esempio
Nell'esempio seguente viene illustrata un'implementazione del DetermineApplicationTrust metodo per un gestore di attendibilità personalizzato. Questo esempio di codice fa parte di un esempio più ampio fornito per l'interfaccia 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
Commenti
Il DetermineApplicationTrust metodo viene chiamato dall'host per determinare se un'applicazione deve essere eseguita e quale set di autorizzazioni deve essere concesso. DetermineApplicationTrust restituisce un ApplicationTrust oggetto con una DefaultGrantSet proprietà che contiene un set di autorizzazioni che rappresenta le autorizzazioni da concedere a ogni assembly in esecuzione nel contesto dell'applicazione. Le autorizzazioni concesse non si applicano agli assembly nella Global Assembly Cache. L'oggetto ApplicationTrust dispone anche di una IsApplicationTrustedToRun proprietà impostata dal gestore di attendibilità per indicare se l'applicazione deve essere considerata attendibile. Se il gestore di attendibilità indica che l'applicazione può essere considerata attendibile, l'host attiva l'applicazione e concede agli assembly il set di autorizzazioni fornite nella ApplicationTrust raccolta.