IApplicationTrustManager.DetermineApplicationTrust Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Determina si se debería ejecutar una aplicación y qué conjunto de permisos se le debería conceder.
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
Parámetros
- activationContext
- ActivationContext
Contexto de activación para la aplicación.
- context
- TrustManagerContext
El contexto del administrador de confianza para la aplicación.
Devoluciones
Objeto que contiene decisiones de seguridad sobre la aplicación.
Ejemplos
En el ejemplo siguiente se muestra una implementación del DetermineApplicationTrust método para un administrador de confianza personalizado. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para la IApplicationTrustManager interfaz .
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
Comentarios
El DetermineApplicationTrust host llama al método para determinar si se debe ejecutar una aplicación y qué conjunto de permisos se debe conceder. DetermineApplicationTrust devuelve un ApplicationTrust objeto con una DefaultGrantSet propiedad que contiene un conjunto de permisos que representa los permisos que se van a conceder a cada ensamblado que se ejecuta en el contexto de la aplicación. Los permisos concedidos no se aplican a los ensamblados de la caché global de ensamblados. El ApplicationTrust objeto también tiene una IsApplicationTrustedToRun propiedad que el administrador de confianza establece para indicar si la aplicación debe ser de confianza. Si el administrador de confianza indica que la aplicación puede ser de confianza, el host activa la aplicación y concede a sus ensamblados el conjunto de permisos proporcionados en la ApplicationTrust colección.