XmlSecureResolver Constructeurs
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Initialise une nouvelle instance de la classe XmlSecureResolver.
Surcharges
| Nom | Description |
|---|---|
| XmlSecureResolver(XmlResolver, PermissionSet) |
Initialise une nouvelle instance de la XmlSecureResolver classe avec le XmlResolver et PermissionSet spécifié. |
| XmlSecureResolver(XmlResolver, Evidence) |
Initialise une nouvelle instance de la XmlSecureResolver classe avec le XmlResolver et Evidence spécifié. |
| XmlSecureResolver(XmlResolver, String) |
Initialise une nouvelle instance de la XmlSecureResolver classe avec l’URL XmlResolver fournie. |
Remarques
Les trois constructeurs fournissent trois types de restrictions d’accès :
Le XmlSecureResolver(XmlResolver, String) constructeur limite l’accès à l’aide d’une URL.
Le XmlSecureResolver(XmlResolver, PermissionSet) constructeur restreint l’accès à l’aide d’un jeu d’autorisations.
Le XmlSecureResolver(XmlResolver, Evidence) constructeur limite l’accès à l’aide de preuves.
Consultez les rubriques de référence du constructeur pour obtenir des exemples de ces types de restrictions.
XmlSecureResolver(XmlResolver, PermissionSet)
Initialise une nouvelle instance de la XmlSecureResolver classe avec le XmlResolver et PermissionSet spécifié.
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)
Paramètres
- resolver
- XmlResolver
Programme de résolution XML encapsulé par le XmlSecureResolver.
- permissionSet
- PermissionSet
Jeu d’autorisations à appliquer au sous-jacent XmlResolver. Appelle XmlSecureResolver la PermitOnly() méthode sur le jeu d’autorisations avant d’appeler la GetEntity(Uri, String, Type) méthode sur le programme de résolution XML sous-jacent.
Exemples
L’exemple suivant construit un XmlSecureResolver objet à l’aide d’un jeu d’autorisations personnalisé.
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
Voir aussi
S’applique à
XmlSecureResolver(XmlResolver, Evidence)
Initialise une nouvelle instance de la XmlSecureResolver classe avec le XmlResolver et Evidence spécifié.
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)
Paramètres
- resolver
- XmlResolver
Programme de résolution XML encapsulé par le XmlSecureResolver.
- evidence
- Evidence
Preuve utilisée pour créer l’élément PermissionSet qui sera appliqué au sous-jacent XmlResolver. Appelle XmlSecureResolver la PermitOnly() méthode sur la méthode créée PermissionSet avant d’appeler GetEntity(Uri, String, Type) sur le sous-jacent XmlResolver.
Remarques
Voici quelques scénarios possibles et le type de preuve à fournir pour chaque scénario :
Si vous travaillez dans un environnement entièrement approuvé, utilisez votre assembly pour créer la preuve :
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)Si vous travaillez dans un environnement semi-approuvé, vous avez du code ou des données provenant d’une source externe et que vous connaissez l’origine de la source externe et que vous disposez d’un URI vérifiable, utilisez l’URI pour créer la preuve :
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)Si vous travaillez dans un environnement de confiance partielle et que vous avez du code ou des données provenant d’une source externe, sans connaître l’origine de cette source externe, alors :
Définissez le paramètre
evidencesurnull. Cela n’autorise aucun accès aux ressources.- ou -
Si votre application nécessite un accès à des ressources, demandez des preuves auprès de l’appelant.
S’applique à
XmlSecureResolver(XmlResolver, String)
- Source:
- XmlSecureResolver.cs
- Source:
- XmlSecureResolver.cs
- Source:
- XmlSecureResolver.cs
- Source:
- XmlSecureResolver.cs
- Source:
- XmlSecureResolver.cs
Initialise une nouvelle instance de la XmlSecureResolver classe avec l’URL XmlResolver fournie.
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)
Paramètres
- resolver
- XmlResolver
Programme de résolution XML encapsulé par le XmlSecureResolver.
- securityUrl
- String
URL utilisée pour créer l’élément PermissionSet qui sera appliqué au sous-jacent XmlResolver. Appels XmlSecureResolverPermitOnly() sur la création PermissionSet avant d’appeler GetEntity(Uri, String, Type) sur le sous-jacent XmlResolver.
Exemples
Cet exemple utilise le XmlSecureResolver(XmlResolver, String) constructeur pour créer un XmlSecureResolver objet autorisé à accéder à votre site intranet local uniquement.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://myLocalSite/");
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://myLocalSite/")
Remarques
Important
Il existe des différences dans l’infrastructure de sécurité pour le code s’exécutant sur le common language runtime (CLR) .NET Framework et pour le code s’exécutant sur le CLR intégré dans Microsoft SQL Server 2005. Cela peut entraîner des cas où le code développé pour le CLR .NET Framework fonctionne différemment lorsqu’il est utilisé sur le CLR intégré SQL Server. L’une de ces différences affecte la XmlSecureResolver classe lorsque vous avez des preuves basées sur une URL (autrement dit, lorsque vous utilisez la CreateEvidenceForUrl méthode ou le XmlSecureResolver(XmlResolver, String) constructeur). Le mécanisme de résolution de stratégie du CLR intégré à SQL Server n’utilise pas les informations Url ni Zone. Au lieu de cela, il accorde des autorisations basées sur le GUID que le serveur ajoute lorsque les assemblys sont chargés. Lorsque vous utilisez XmlSecureResolver dans le CLR intégré de SQL Server, fournissez directement les preuves requises en utilisant un PermissionSet spécifié.