IApplicationTrustManager.DetermineApplicationTrust Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bestimmt, ob eine Anwendung ausgeführt werden soll und welche Berechtigungssätze ihm erteilt werden sollen.
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
Parameter
- activationContext
- ActivationContext
Der Aktivierungskontext für die Anwendung.
- context
- TrustManagerContext
Der Vertrauens-Manager-Kontext für die Anwendung.
Gibt zurück
Ein Objekt, das Sicherheitsentscheidungen über die Anwendung enthält.
Beispiele
Das folgende Beispiel zeigt eine Implementierung der DetermineApplicationTrust Methode für einen benutzerdefinierten Vertrauensverwalter. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die IApplicationTrustManager Schnittstelle bereitgestellt wird.
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
Hinweise
Die DetermineApplicationTrust Methode wird vom Host aufgerufen, um zu bestimmen, ob eine Anwendung ausgeführt werden soll und welche Berechtigungssätze erteilt werden sollen. DetermineApplicationTrust gibt ein ApplicationTrust Objekt mit einer DefaultGrantSet Eigenschaft zurück, die einen Berechtigungssatz enthält, der die Berechtigungen darstellt, die jeder Assembly erteilt werden sollen, die im Kontext der Anwendung ausgeführt wird. Die gewährten Berechtigungen gelten nicht für Assemblys im globalen Assemblycache. Das ApplicationTrust Objekt verfügt außerdem über eine IsApplicationTrustedToRun Eigenschaft, die der Vertrauensstellungs-Manager festlegt, um anzugeben, ob die Anwendung vertrauenswürdig sein soll. Wenn der Vertrauensverwalter angibt, dass die Anwendung vertrauenswürdig sein kann, aktiviert der Host die Anwendung und gewährt seinen Assemblys den Satz von Berechtigungen, die in der ApplicationTrust Auflistung bereitgestellt werden.