IApplicationTrustManager Interface
.NET Framework 3.0
Determines whether an application should be executed and which set of permissions should be granted to the application.
Namespace: System.Security.Policy
Assembly: mscorlib (in mscorlib.dll)
Assembly: mscorlib (in mscorlib.dll)
'Declaration <ComVisibleAttribute(True)> _ Public Interface IApplicationTrustManager Inherits ISecurityEncodable 'Usage Dim instance As IApplicationTrustManager
/** @attribute ComVisibleAttribute(true) */ public interface IApplicationTrustManager extends ISecurityEncodable
ComVisibleAttribute(true) public interface IApplicationTrustManager extends ISecurityEncodable
Not applicable.
Trust managers must implement the IApplicationTrustManager interface. The host calls the DetermineApplicationTrust method in the trust manager to determine whether an application should be executed and which permissions should be granted to the application.
The following code example shows a very simple implementation of IApplicationTrustManager.
' To use the custom trust manager MyTrustManager, compile it into CustomTrustManager.dll, ' place that assembly in the GAC, and put the following elements in ' an ApplicationTrust.config file in the config folder in the Microsoft .NET framework ' installation folder. '<?xml version="1.0" encoding="utf-8" ?> '<configuration> ' <mscorlib> ' <security> ' <policy> ' <ApplicationSecurityManager> ' <ApplicationEntries /> ' <IApplicationTrustManager class="MyNamespace.MyTrustManager, CustomTrustManager, Version=1.0.0.3, Culture=neutral, PublicKeyToken=5659fc598c2a503e"/> ' </ApplicationSecurityManager> ' </policy> ' </security> ' </mscorlib> '</configuration> Imports System Imports System.Security Imports System.Security.Policy Imports System.Windows.Forms Public Class MyTrustManager Implements IApplicationTrustManager 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 Public Function ToXml() As SecurityElement Implements IApplicationTrustManager.ToXml Dim se As New SecurityElement("IApplicationTrustManager") se.AddAttribute("class", GetType(MyTrustManager).AssemblyQualifiedName) Return se End Function 'ToXml Public Sub FromXml(ByVal se As SecurityElement) Implements IApplicationTrustManager.FromXml If se.Tag <> "IApplicationTrustManager" OrElse _ CStr(se.Attributes("class")) <> GetType(MyTrustManager).AssemblyQualifiedName Then Throw New ArgumentException("Invalid tag") End If End Sub 'FromXml End Class 'MyTrustManager
Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.Community Additions
ADD
Show: