IApplicationTrustManager.DetermineApplicationTrust Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, zda má být aplikace spuštěna a jaká sada oprávnění by jí měla být udělena.
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
Parametry
- activationContext
- ActivationContext
Kontext aktivace aplikace.
- context
- TrustManagerContext
Kontext správce důvěryhodnosti pro aplikaci.
Návraty
Objekt, který obsahuje rozhodnutí o zabezpečení aplikace.
Příklady
Následující příklad ukazuje implementaci DetermineApplicationTrust metody pro vlastní správce důvěryhodnosti. Tento příklad kódu je součástí většího příkladu IApplicationTrustManager pro rozhraní.
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
Poznámky
Metoda DetermineApplicationTrust je volána hostitelem k určení, zda má být aplikace spuštěna a jakou sadu oprávnění by měla být udělena. DetermineApplicationTrustApplicationTrust vrátí objekt s DefaultGrantSet vlastností, která obsahuje sadu oprávnění představující oprávnění, která mají být udělena každému sestavení spuštěným v kontextu aplikace. Udělená oprávnění se nevztahují na sestavení v globální mezipaměti sestavení (GPA). Objekt ApplicationTrust má IsApplicationTrustedToRun také vlastnost, kterou správce důvěryhodnosti nastaví k označení, zda má být aplikace důvěryhodná. Pokud správce důvěryhodnosti označí, že aplikace může být důvěryhodná, hostitel aplikaci aktivuje a udělí jejím sestavením sadu oprávnění poskytovaných v kolekci ApplicationTrust .