IApplicationTrustManager.DetermineApplicationTrust メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アプリケーションを実行するかどうか、およびどのアクセス許可セットをアプリケーションに付与するかを判断します。
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
パラメーター
- activationContext
- ActivationContext
アプリケーションのアクティベーション コンテキスト。
- context
- TrustManagerContext
アプリケーションの信頼マネージャー コンテキスト。
戻り値
アプリケーションについてセキュリティに関する決定を格納するオブジェクト。
例
次の例は、カスタム信頼マネージャーの DetermineApplicationTrust メソッドの実装を示しています。 このコード例は、 インターフェイス用に提供されるより大きな例の 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
注釈
メソッドは DetermineApplicationTrust ホストによって呼び出され、アプリケーションを実行する必要があるかどうか、およびどのアクセス許可セットを付与する必要があるかを判断します。 DetermineApplicationTrust は、 ApplicationTrust アプリケーションのコンテキスト内で実行されている各アセンブリに付与されるアクセス許可を表すアクセス許可セットを含む プロパティを持つ DefaultGrantSet オブジェクトを返します。 付与されたアクセス許可は、グローバル アセンブリ キャッシュ内のアセンブリには適用されません。 ApplicationTrustオブジェクトには、アプリケーションをIsApplicationTrustedToRun信頼する必要があるかどうかを示すために信頼マネージャーが設定するプロパティもあります。 信頼マネージャーがアプリケーションを信頼できることを示す場合、ホストはアプリケーションをアクティブ化し、そのアセンブリにコレクションで提供されるアクセス許可のセットを ApplicationTrust 付与します。
適用対象
.NET