IApplicationTrustManager.DetermineApplicationTrust Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir uygulamanın yürütülip yürütülmeyeceğini ve uygulamaya hangi izin kümesinin verilmesi gerektiğini belirler.
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
Parametreler
- activationContext
- ActivationContext
Uygulamanın etkinleştirme bağlamı.
- context
- TrustManagerContext
Uygulamanın güven yöneticisi bağlamı.
Döndürülenler
Uygulama hakkında güvenlik kararları içeren bir nesne.
Örnekler
Aşağıdaki örnekte, özel bir güven yöneticisi için yönteminin DetermineApplicationTrust uygulanması gösterilmektedir. Bu kod örneği, arabirim için IApplicationTrustManager sağlanan daha büyük bir örneğin parçasıdır.
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
Açıklamalar
Yöntemi DetermineApplicationTrust , bir uygulamanın yürütülmesi gerekip gerekmediğini ve hangi izin kümesinin verilmesi gerektiğini belirlemek için konak tarafından çağrılır. DetermineApplicationTrustApplicationTrust, uygulama bağlamında yürütülen her derlemeye verilecek izinleri temsil eden bir izin kümesi içeren bir özelliğe sahip DefaultGrantSet bir nesne döndürür. Verilen izinler genel derleme önbelleğindeki derlemeler için geçerli değildir. nesnesi ApplicationTrust , güven yöneticisinin uygulamaya güvenilip güvenilmeyeceğini belirtmek için ayardığı bir IsApplicationTrustedToRun özelliğe de sahiptir. Güven yöneticisi uygulamaya güvenilebileceğini belirtiyorsa, konak uygulamayı etkinleştirir ve derlemelerine koleksiyonda ApplicationTrust sağlanan izin kümesini verir.