HostSecurityManager.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ülmesi gerekip gerekmediğini belirler.
public:
virtual System::Security::Policy::ApplicationTrust ^ DetermineApplicationTrust(System::Security::Policy::Evidence ^ applicationEvidence, System::Security::Policy::Evidence ^ activatorEvidence, System::Security::Policy::TrustManagerContext ^ context);
public virtual System.Security.Policy.ApplicationTrust DetermineApplicationTrust (System.Security.Policy.Evidence applicationEvidence, System.Security.Policy.Evidence activatorEvidence, System.Security.Policy.TrustManagerContext context);
[System.Security.SecurityCritical]
public virtual System.Security.Policy.ApplicationTrust DetermineApplicationTrust (System.Security.Policy.Evidence applicationEvidence, System.Security.Policy.Evidence activatorEvidence, System.Security.Policy.TrustManagerContext context);
abstract member DetermineApplicationTrust : System.Security.Policy.Evidence * System.Security.Policy.Evidence * System.Security.Policy.TrustManagerContext -> System.Security.Policy.ApplicationTrust
override this.DetermineApplicationTrust : System.Security.Policy.Evidence * System.Security.Policy.Evidence * System.Security.Policy.TrustManagerContext -> System.Security.Policy.ApplicationTrust
[<System.Security.SecurityCritical>]
abstract member DetermineApplicationTrust : System.Security.Policy.Evidence * System.Security.Policy.Evidence * System.Security.Policy.TrustManagerContext -> System.Security.Policy.ApplicationTrust
override this.DetermineApplicationTrust : System.Security.Policy.Evidence * System.Security.Policy.Evidence * System.Security.Policy.TrustManagerContext -> System.Security.Policy.ApplicationTrust
Public Overridable Function DetermineApplicationTrust (applicationEvidence As Evidence, activatorEvidence As Evidence, context As TrustManagerContext) As ApplicationTrust
Parametreler
- applicationEvidence
- Evidence
Uygulamanın etkinleştirilmesi için kanıt.
- activatorEvidence
- Evidence
İsteğe bağlı olarak, uygulama etki alanını etkinleştirme kanıtı.
- context
- TrustManagerContext
Güven bağlamı.
Döndürülenler
Uygulama hakkındaki güven bilgilerini içeren bir nesne.
- Öznitelikler
Özel durumlar
applicationEvidence
, null
değeridir.
Uygulama kanıtında bir ActivationArguments nesne bulunamadı.
-veya-
ActivationContext Etkinleştirme bağımsız değişkenlerindeki özelliği şeklindedirnull
.
ApplicationTrust Verme kümesi, tarafından ActivationContextbelirtilen en düşük istek kümesini içermez.
Örnekler
Aşağıdaki örnekte, özel bir konak güvenlik yöneticisi için yönteminin nasıl geçersiz kılınacakları DetermineApplicationTrust gösterilmektedir. Bu örnek, sınıfı için HostSecurityManager sağlanan daha büyük bir örneğin parçasıdır.
[SecurityPermissionAttribute(SecurityAction.Demand, Execution = true)]
[SecurityPermissionAttribute(SecurityAction.Assert, Unrestricted = true)]
public override ApplicationTrust DetermineApplicationTrust(Evidence applicationEvidence, Evidence activatorEvidence, TrustManagerContext context)
{
if (applicationEvidence == null)
throw new ArgumentNullException("applicationEvidence");
// Get the activation context from the application evidence.
// This HostSecurityManager does not examine the activator evidence
// nor is it concerned with the TrustManagerContext;
// it simply grants the requested grant in the application manifest.
IEnumerator enumerator = applicationEvidence.GetHostEnumerator();
ActivationArguments activationArgs = null;
while (enumerator.MoveNext())
{
activationArgs = enumerator.Current as ActivationArguments;
if (activationArgs != null)
break;
}
if (activationArgs == null)
return null;
ActivationContext activationContext = activationArgs.ActivationContext;
if (activationContext == null)
return null;
ApplicationTrust trust = new ApplicationTrust(activationContext.Identity);
ApplicationSecurityInfo asi = new ApplicationSecurityInfo(activationContext);
trust.DefaultGrantSet = new PolicyStatement(asi.DefaultRequestSet, PolicyStatementAttribute.Nothing);
trust.IsApplicationTrustedToRun = true;
return trust;
}
<SecurityPermissionAttribute(SecurityAction.Demand, Execution:=True), SecurityPermissionAttribute(SecurityAction.Assert, Unrestricted:=True)> _
Public Overrides Function DetermineApplicationTrust(ByVal applicationEvidence As Evidence, ByVal activatorEvidence As Evidence, ByVal context As TrustManagerContext) As ApplicationTrust
If applicationEvidence Is Nothing Then
Throw New ArgumentNullException("applicationEvidence")
End If
' Get the activation context from the application evidence.
' This HostSecurityManager does not examine the activator evidence
' nor is it concerned with the TrustManagerContext;
' it simply grants the requested grant in the application manifest.
Dim enumerator As IEnumerator = applicationEvidence.GetHostEnumerator()
Dim activationArgs As ActivationArguments = Nothing
While enumerator.MoveNext()
activationArgs = enumerator.Current '
If Not (activationArgs Is Nothing) Then
Exit While
End If
End While
If activationArgs Is Nothing Then
Return Nothing
End If
Dim activationContext As ActivationContext = activationArgs.ActivationContext
If activationContext Is Nothing Then
Return Nothing
End If
Dim trust As New ApplicationTrust(activationContext.Identity)
Dim asi As New ApplicationSecurityInfo(activationContext)
trust.DefaultGrantSet = New PolicyStatement(asi.DefaultRequestSet, PolicyStatementAttribute.Nothing)
trust.IsApplicationTrustedToRun = True
Return trust
End Function 'DetermineApplicationTrust
End Class
Açıklamalar
Bu yöntem türetilmiş bir sınıf tarafından geçersiz kılınabilir. Temel uygulama, uygulamanın yürütülmesi gerekip gerekmediğini belirlemek için uygulama güvenlik yöneticisini çağırır.
Temel uygulama etkinleştirici kanıtını kullanmaz. Ancak geçersiz kılınan bir uygulama, uygulamayı etkinleştirmeye çalışan uygulama etki alanının güvenlik kanıtını belirlemek için etkinleştirici kanıtını kullanabilir.