다음을 통해 공유


IApplicationTrustManager.DetermineApplicationTrust 메서드

정의

애플리케이션을 실행해야 하는지 여부와 애플리케이션에 부여해야 하는 권한 집합을 확인합니다.

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

애플리케이션에 대한 트러스트 관리자 컨텍스트입니다.

반환

ApplicationTrust

애플리케이션에 대한 보안 결정이 들어 있는 개체입니다.

예제

다음 예제에서는 구현을 보여 줍니다는 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 컬렉션입니다.

적용 대상