XmlSecureResolver Konstruktoren
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.
Initialisiert eine neue Instanz der XmlSecureResolver-Klasse.
Überlädt
| Name | Beschreibung |
|---|---|
| XmlSecureResolver(XmlResolver, PermissionSet) |
Initialisiert eine neue Instanz der XmlSecureResolver Klasse mit der XmlResolver und PermissionSet den angegebenen. |
| XmlSecureResolver(XmlResolver, Evidence) |
Initialisiert eine neue Instanz der XmlSecureResolver Klasse mit der XmlResolver und Evidence den angegebenen. |
| XmlSecureResolver(XmlResolver, String) |
Initialisiert eine neue Instanz der XmlSecureResolver Klasse mit der XmlResolver bereitgestellten URL. |
Hinweise
Die drei Konstruktoren bieten drei Arten von Zugriffsbeschränkungen:
Der XmlSecureResolver(XmlResolver, String) Konstruktor schränkt den Zugriff mithilfe einer URL ein.
Der XmlSecureResolver(XmlResolver, PermissionSet) Konstruktor schränkt den Zugriff mithilfe eines Berechtigungssatzes ein.
Der XmlSecureResolver(XmlResolver, Evidence) Konstruktor schränkt den Zugriff mithilfe von Nachweisen ein.
Beispiele für diese Arten von Einschränkungen finden Sie in den Konstruktorreferenzthemen.
XmlSecureResolver(XmlResolver, PermissionSet)
Initialisiert eine neue Instanz der XmlSecureResolver Klasse mit der XmlResolver und PermissionSet den angegebenen.
public:
XmlSecureResolver(System::Xml::XmlResolver ^ resolver, System::Security::PermissionSet ^ permissionSet);
public XmlSecureResolver(System.Xml.XmlResolver resolver, System.Security.PermissionSet permissionSet);
new System.Xml.XmlSecureResolver : System.Xml.XmlResolver * System.Security.PermissionSet -> System.Xml.XmlSecureResolver
Public Sub New (resolver As XmlResolver, permissionSet As PermissionSet)
Parameter
- resolver
- XmlResolver
Der XML-Auflösungsgeber, der durch den XmlSecureResolverUmbruch umbrochen wird.
- permissionSet
- PermissionSet
Der Berechtigungssatz, der auf die zugrunde liegende XmlResolverAnwendung angewendet werden soll. Die XmlSecureResolver Methode für den Berechtigungssatz wird aufgerufen PermitOnly() , bevor die GetEntity(Uri, String, Type) Methode für den zugrunde liegenden XML-Resolver aufgerufen wird.
Beispiele
Im folgenden Beispiel wird ein XmlSecureResolver Objekt mithilfe eines benutzerdefinierten Berechtigungssatzes erstellt.
public static Object GetFile (String fileURL, XmlResolver resolver) {
// Generate the default PermissionSet using the file URL.
Evidence evidence = XmlSecureResolver.CreateEvidenceForUrl(fileURL);
PermissionSet myPermissions = SecurityManager.ResolvePolicy(evidence);
// Modify the PermissionSet to only allow access to http://www.contoso.com.
// Create a WebPermission which only allows access to http://www.contoso.com.
WebPermission myWebPermission = new WebPermission(NetworkAccess.Connect, "http://www.contoso.com");
// Replace the existing WebPermission in myPermissions with the updated WebPermission.
myPermissions.SetPermission(myWebPermission);
// Use the modified PermissionSet to construct the XmlSecureResolver.
XmlSecureResolver sResolver = new XmlSecureResolver(resolver, myPermissions);
// Get the object.
Uri fullUri = sResolver.ResolveUri(null, fileURL);
return sResolver.GetEntity(fullUri, null, null);
}
public shared function GetFile (fileURL as String , resolver as XmlResolver) as Object
' Generate the default PermissionSet using the file URL.
Dim evidence as Evidence = XmlSecureResolver.CreateEvidenceForUrl(fileURL)
Dim myPermissions as PermissionSet = SecurityManager.ResolvePolicy(evidence)
' Modify the PermissionSet to only allow access to http://www.contoso.com.
' Create a WebPermission that only allows access to http://www.contoso.com.
Dim myWebPermission as WebPermission = new WebPermission(NetworkAccess.Connect, "http://www.contoso.com")
' Replace the existing WebPermission in myPermissions with the updated WebPermission.
myPermissions.SetPermission(myWebPermission)
' Use the modified PermissionSet to construct the XmlSecureResolver.
Dim sResolver as XmlSecureResolver = new XmlSecureResolver(resolver, myPermissions)
' Get the object.
Dim fullUri as Uri = sResolver.ResolveUri(nothing, fileURL)
return sResolver.GetEntity(fullUri, nothing, nothing)
end function
Weitere Informationen
Gilt für:
XmlSecureResolver(XmlResolver, Evidence)
Initialisiert eine neue Instanz der XmlSecureResolver Klasse mit der XmlResolver und Evidence den angegebenen.
public:
XmlSecureResolver(System::Xml::XmlResolver ^ resolver, System::Security::Policy::Evidence ^ evidence);
public XmlSecureResolver(System.Xml.XmlResolver resolver, System.Security.Policy.Evidence evidence);
new System.Xml.XmlSecureResolver : System.Xml.XmlResolver * System.Security.Policy.Evidence -> System.Xml.XmlSecureResolver
Public Sub New (resolver As XmlResolver, evidence As Evidence)
Parameter
- resolver
- XmlResolver
Der XML-Auflösungsgeber, der durch den XmlSecureResolverUmbruch umbrochen wird.
- evidence
- Evidence
Die zum Erstellen des Nachweises verwendeten Beweise, die PermissionSet auf die zugrunde liegende XmlResolverAnwendung angewendet werden. Die XmlSecureResolver Methode wird vor dem Aufrufen der zugrunde liegenden PermitOnly()Methode für die erstellte PermissionSet Methode aufgerufenGetEntity(Uri, String, Type).XmlResolver
Hinweise
Im Folgenden finden Sie einige mögliche Szenarien und die Art der Nachweise, die für jedes Szenario bereitgestellt werden sollen:
Wenn Sie in einer vollständig vertrauenswürdigen Umgebung arbeiten, verwenden Sie Ihre Assembly, um die Nachweise zu erstellen:
Evidence myEvidence = this.GetType().Assembly.Evidence; XmlSecureResolver myResolver; myResolver = new XmlSecureResolver(new XmlUrlResolver(), myEvidence);Dim myEvidence As Evidence = Me.GetType().Assembly.Evidence Dim myResolver As XmlSecureResolver myResolver = New XmlSecureResolver(New XmlUrlResolver(), myEvidence)Wenn Sie in einer halb vertrauenswürdigen Umgebung arbeiten, verfügen Sie über Code oder Daten, die von einer externen Quelle stammen, und Sie wissen den Ursprung der externen Quelle und verfügen über einen überprüfbaren URI, verwenden Sie den URI, um den Nachweis zu erstellen:
Evidence myEvidence = XmlSecureResolver.CreateEvidenceForUrl(sourceURI); XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), myEvidence);Dim myEvidence As Evidence = XmlSecureResolver.CreateEvidenceForUrl(sourceURI) Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), myEvidence)Wenn Sie in einer halb vertrauenswürdigen Umgebung arbeiten und Code oder Daten aus einer externen Quelle haben, aber Sie die Herkunft dieser Quelle nicht kennen:
Setzen Sie den
evidence-Parameter aufnull. Dies ermöglicht keinen Zugriff auf Ressourcen.-oder-
Wenn Ihre Anwendung Zugriff auf Ressourcen benötigt, fordern Sie Nachweise vom Aufrufer an.
Gilt für:
XmlSecureResolver(XmlResolver, String)
- Quelle:
- XmlSecureResolver.cs
- Quelle:
- XmlSecureResolver.cs
- Quelle:
- XmlSecureResolver.cs
- Quelle:
- XmlSecureResolver.cs
- Quelle:
- XmlSecureResolver.cs
Initialisiert eine neue Instanz der XmlSecureResolver Klasse mit der XmlResolver bereitgestellten URL.
public:
XmlSecureResolver(System::Xml::XmlResolver ^ resolver, System::String ^ securityUrl);
public XmlSecureResolver(System.Xml.XmlResolver resolver, string? securityUrl);
public XmlSecureResolver(System.Xml.XmlResolver resolver, string securityUrl);
new System.Xml.XmlSecureResolver : System.Xml.XmlResolver * string -> System.Xml.XmlSecureResolver
Public Sub New (resolver As XmlResolver, securityUrl As String)
Parameter
- resolver
- XmlResolver
Der XML-Auflösungsgeber, der durch den XmlSecureResolverUmbruch umbrochen wird.
- securityUrl
- String
Die URL, mit der die PermissionSet zugrunde liegende XmlResolverUrl erstellt wird. Die XmlSecureResolver Aufrufe des erstellten PermitOnly() Aufrufs PermissionSet vor dem Aufrufen GetEntity(Uri, String, Type) der zugrunde liegenden XmlResolver.
Beispiele
In diesem Beispiel wird der XmlSecureResolver(XmlResolver, String) Konstruktor verwendet, um ein XmlSecureResolver Objekt zu erstellen, das nur auf Ihre lokale Intranetwebsite zugreifen darf.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://myLocalSite/");
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://myLocalSite/")
Hinweise
Important
Es gibt Unterschiede in der Sicherheitsinfrastruktur für Code, der auf der .NET Framework Common Language Runtime (CLR) ausgeführt wird, und für Code, der auf der CLR ausgeführt wird, die in Microsoft SQL Server 2005 integriert ist. Dies kann zu Fällen führen, in denen Code, der für das .NET Framework CLR entwickelt wurde, anders funktioniert, wenn er für die SQL Server integrierten CLR verwendet wird. Einer dieser Unterschiede wirkt sich auf die XmlSecureResolver Klasse aus, wenn Sie Nachweise haben, die auf einer URL basieren (d. a. wenn Sie die CreateEvidenceForUrl Methode oder den XmlSecureResolver(XmlResolver, String) Konstruktor verwenden). Der Richtlinienauflösungsmechanismus der integrierten SQL Server-CLR verwendet die Url- oder Zone-Informationen nicht. Stattdessen gewährt sie Berechtigungen basierend auf der GUID, die der Server beim Laden von Assemblys hinzufügt. Wenn Sie XmlSecureResolver in der SQL Server integrierten CLR verwenden, stellen Sie alle erforderlichen Nachweise direkt unter Verwendung eines angegebenen PermissionSet-Werts bereit.