XmlSecureResolver Constructors
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Initialiseert een nieuw exemplaar van de XmlSecureResolver klasse.
Overloads
| Name | Description |
|---|---|
| XmlSecureResolver(XmlResolver, PermissionSet) |
Initialiseert een nieuw exemplaar van de XmlSecureResolver klasse met de XmlResolver en PermissionSet opgegeven. |
| XmlSecureResolver(XmlResolver, Evidence) |
Initialiseert een nieuw exemplaar van de XmlSecureResolver klasse met de XmlResolver en Evidence opgegeven. |
| XmlSecureResolver(XmlResolver, String) |
Initialiseert een nieuw exemplaar van de XmlSecureResolver klasse met de opgegeven URL en de XmlResolver opgegeven URL. |
Opmerkingen
De drie constructors bieden drie typen toegangsbeperkingen:
De XmlSecureResolver(XmlResolver, String) constructor beperkt de toegang met behulp van een URL.
De XmlSecureResolver(XmlResolver, PermissionSet) constructor beperkt de toegang met behulp van een machtigingenset.
De XmlSecureResolver(XmlResolver, Evidence) constructor beperkt de toegang met behulp van bewijs.
Zie de referentieonderwerpen voor constructor's voor voorbeelden van deze typen beperkingen.
XmlSecureResolver(XmlResolver, PermissionSet)
Initialiseert een nieuw exemplaar van de XmlSecureResolver klasse met de XmlResolver en PermissionSet opgegeven.
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)
Parameters
- resolver
- XmlResolver
De XML-resolver die wordt verpakt door de XmlSecureResolver.
- permissionSet
- PermissionSet
De machtigingenset die moet worden toegepast op de onderliggende XmlResolver. De XmlSecureResolver methode wordt aangeroepen PermitOnly() voor de machtigingenset voordat de GetEntity(Uri, String, Type) methode wordt aangeroepen voor de onderliggende XML-resolver.
Voorbeelden
In het volgende voorbeeld wordt een XmlSecureResolver object samengesteld met behulp van een aangepaste machtigingenset.
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
Zie ook
Van toepassing op
XmlSecureResolver(XmlResolver, Evidence)
Initialiseert een nieuw exemplaar van de XmlSecureResolver klasse met de XmlResolver en Evidence opgegeven.
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)
Parameters
- resolver
- XmlResolver
De XML-resolver die wordt verpakt door de XmlSecureResolver.
- evidence
- Evidence
Het bewijs dat wordt gebruikt om de PermissionSet gegevens te maken die worden toegepast op de onderliggende XmlResolvergegevens. De XmlSecureResolver methode wordt aangeroepen PermitOnly() op de gemaakte PermissionSet voordat de onderliggende GetEntity(Uri, String, Type)methode wordt aangeroepenXmlResolver.
Opmerkingen
Hier volgen enkele mogelijke scenario's en het type bewijs dat voor elk scenario moet worden verstrekt:
Als u in een volledig vertrouwde omgeving werkt, gebruikt u uw assembly om het bewijs te maken:
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)Als u in een semi-vertrouwde omgeving werkt, hebt u code of gegevens afkomstig van een externe bron en weet u de oorsprong van de externe bron en hebt u een verifieerbare URI, gebruikt u de URI om het bewijs te maken:
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)Als u in een semi-vertrouwde omgeving werkt en u code of gegevens hebt die afkomstig zijn van een externe bron, maar u niet weet wat de oorsprong is van de externe bron:
Stel de
evidenceparameter in opnull. Hiermee is er geen toegang tot bronnen.– of –
Als voor uw toepassing toegang tot resources is vereist, vraagt u bewijs aan bij de beller.
Van toepassing op
XmlSecureResolver(XmlResolver, String)
- Bron:
- XmlSecureResolver.cs
- Bron:
- XmlSecureResolver.cs
- Bron:
- XmlSecureResolver.cs
- Bron:
- XmlSecureResolver.cs
- Bron:
- XmlSecureResolver.cs
Initialiseert een nieuw exemplaar van de XmlSecureResolver klasse met de opgegeven URL en de XmlResolver opgegeven 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)
Parameters
- resolver
- XmlResolver
De XML-resolver die wordt verpakt door de XmlSecureResolver.
- securityUrl
- String
De URL die wordt gebruikt om de PermissionSet url te maken die wordt toegepast op de onderliggende XmlResolverurl. De XmlSecureResolver aanroepen PermitOnly() van de gemaakte PermissionSet voordat u de onderliggende GetEntity(Uri, String, Type)aanroeptXmlResolver.
Voorbeelden
In dit voorbeeld wordt de XmlSecureResolver(XmlResolver, String) constructor gebruikt om een XmlSecureResolver object te maken dat alleen toegang heeft tot uw lokale intranetsite.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://myLocalSite/");
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://myLocalSite/")
Opmerkingen
Important
Er zijn verschillen in de beveiligingsinfrastructuur voor code die wordt uitgevoerd op de .NET Framework Common Language Runtime (CLR) en voor code die wordt uitgevoerd op de CLR die is geïntegreerd in Microsoft SQL Server 2005. Dit kan leiden tot gevallen waarin code die is ontwikkeld voor de .NET Framework CLR anders werkt wanneer deze wordt gebruikt op de SQL Server geïntegreerde CLR. Een van deze verschillen is van invloed op de XmlSecureResolver klasse wanneer u bewijs hebt dat is gebaseerd op een URL (dat wil gezegd, wanneer u de CreateEvidenceForUrl methode of de XmlSecureResolver(XmlResolver, String) constructor gebruikt). Het mechanisme voor beleidsomzetting van de geïntegreerde CLR van SQL Server maakt geen gebruik van de Url of Zone informatie. In plaats daarvan verleent het machtigingen op basis van de GUID die de server toevoegt wanneer assembly's worden geladen. Wanneer u de XmlSecureResolver geïntegreerde CLR van SQL Server gebruikt, dient u alle vereiste bewijzen rechtstreeks op te geven met behulp van een opgegeven PermissionSet.