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 컬렉션입니다.