SecurityManager.GetStandardSandbox(Evidence) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Berechtigungssatz ab, der einer Anwendung mit dem angegebenen Beweis sicher gewährt werden kann.
public:
static System::Security::PermissionSet ^ GetStandardSandbox(System::Security::Policy::Evidence ^ evidence);
public static System.Security.PermissionSet GetStandardSandbox (System.Security.Policy.Evidence evidence);
static member GetStandardSandbox : System.Security.Policy.Evidence -> System.Security.PermissionSet
Public Shared Function GetStandardSandbox (evidence As Evidence) As PermissionSet
Parameter
- evidence
- Evidence
Der Hostbeweis, der einem Berechtigungssatz zugeordnet werden soll.
Gibt zurück
Ein Berechtigungssatz, der für die Anwendung mit dem angegebenen Beweis verwendet werden kann.
Ausnahmen
evidence ist null.
Beispiele
Im folgenden Beispiel wird gezeigt, wie Sie die GetStandardSandbox Methode verwenden, um die Berechtigung für eine Sandkastenanwendung abzurufen. Weitere Informationen zum Ausführen einer Anwendung in einer Sandkasten finden Sie unter Vorgehensweise: Ausführen von teilweise vertrauenswürdigem Code in einem Sandkasten.
using System;
using System.Collections;
using System.Diagnostics;
using System.Security;
using System.Security.Permissions;
using System.Security.Policy;
using System.Reflection;
using System.IO;
namespace SimpleSandboxing
{
class Program
{
static void Main(string[] args)
{
// Create the permission set to grant to other assemblies.
// In this case we are granting the permissions found in the LocalIntranet zone.
Evidence e = new Evidence();
e.AddHostEvidence(new Zone(SecurityZone.Intranet));
PermissionSet pset = SecurityManager.GetStandardSandbox(e);
AppDomainSetup ads = new AppDomainSetup();
// Identify the folder to use for the sandbox.
ads.ApplicationBase = "C:\\Sandbox";
// Copy the application to be executed to the sandbox.
Directory.CreateDirectory("C:\\Sandbox");
File.Copy("..\\..\\..\\HelloWorld\\bin\\debug\\HelloWorld.exe", "C:\\sandbox\\HelloWorld.exe", true);
// Create the sandboxed domain.
AppDomain sandbox = AppDomain.CreateDomain(
"Sandboxed Domain",
e,
ads,
pset,
null);
sandbox.ExecuteAssemblyByName("HelloWorld");
}
}
}
Imports System.Collections
Imports System.Diagnostics
Imports System.Security
Imports System.Security.Permissions
Imports System.Security.Policy
Imports System.Reflection
Imports System.IO
Class Program
Shared Sub Main(ByVal args() As String)
' Create the permission set to grant to other assemblies.
' In this case we are granting the permissions found in the LocalIntranet zone.
Dim e As New Evidence()
e.AddHostEvidence(New Zone(SecurityZone.Intranet))
Dim pset As PermissionSet = SecurityManager.GetStandardSandbox(e)
Dim ads As New AppDomainSetup()
' Identify the folder to use for the sandbox.
ads.ApplicationBase = "C:\Sandbox"
' Copy the application to be executed to the sandbox.
Directory.CreateDirectory("C:\Sandbox")
File.Copy("..\..\..\HelloWorld\bin\debug\HelloWorld.exe", "C:\sandbox\HelloWorld.exe", True)
' Create the sandboxed domain.
Dim sandbox As AppDomain = AppDomain.CreateDomain("Sandboxed Domain", e, ads, pset, Nothing)
sandbox.ExecuteAssemblyByName("HelloWorld")
End Sub
End Class
Hinweise
Hinweis
Im .NET Framework 4 muss die Hostbeweisung evidence nachweise enthaltenSystem.Security.Policy.Zone.
In der folgenden Tabelle sind die Berechtigungssätze aufgeführt, die für jede Zone zurückgegeben werden.
| Zone | Berechtigungssatz |
|---|---|
| MyComputer | FullTrust |
| Intranet | LocalIntranet |
| Trusted | Internet |
| Internet | Internet |
| Untrusted | Keine |
| NoZone | Keine |
Andere Beweise, wie z Url . B. oder Site, können berücksichtigt werden.
Der zurückgegebene Berechtigungssatz kann von einer Sandkasten verwendet werden, um die Anwendung auszuführen. Beachten Sie, dass diese Methode keine Richtlinie angibt, sondern einem Host hilft, zu bestimmen, ob die von einer Anwendung angeforderte Berechtigungssatz angemessen ist. Diese Methode kann verwendet werden, um eine Zone einem Sandkasten zuzuordnen.