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
XmlSecureResolver(XmlResolver, PermissionSet) |
Initialise une nouvelle instance de la classe XmlSecureResolver avec les XmlResolver et PermissionSet spécifiés. |
XmlSecureResolver(XmlResolver, Evidence) |
Initialise une nouvelle instance de la classe XmlSecureResolver avec les XmlResolver et Evidence spécifiés. |
XmlSecureResolver(XmlResolver, String) |
Initialise une nouvelle instance de la classe XmlSecureResolver avec le XmlResolver et l'URL spécifiés. |
Remarques
Les trois constructeurs fournissent trois types de restrictions d’accès :
Le XmlSecureResolver(XmlResolver, String) constructeur restreint 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 restreint 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 classe XmlSecureResolver avec les XmlResolver et PermissionSet spécifiés.
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 inclus dans un wrapper par le XmlSecureResolver.
- permissionSet
- PermissionSet
Jeu d'autorisations à appliquer au XmlResolver sous-jacent. Le XmlSecureResolver appelle la méthode PermitOnly() sur le jeu d’autorisations avant d’appeler la méthode GetEntity(Uri, String, Type) 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é.
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 = gcnew 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 = gcnew XmlSecureResolver( resolver,myPermissions );
// Get the object.
Uri^ fullUri = sResolver->ResolveUri( nullptr, fileURL );
return sResolver->GetEntity( fullUri, nullptr, nullptr );
}
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 classe XmlSecureResolver avec les XmlResolver et Evidence spécifiés.
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 inclus dans un wrapper par le XmlSecureResolver.
- evidence
- Evidence
Preuve utilisée pour créer le PermissionSet qui sera appliqué au XmlResolver sous-jacent. Le XmlSecureResolver appelle la méthode PermitOnly() sur le PermissionSet créé avant d’appeler GetEntity(Uri, String, Type) sur le XmlResolver sous-jacent.
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 avez 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 semi-approuvé et que vous avez du code ou des données provenant d’une source externe, mais que vous ne connaissez pas l’origine de la source externe, soit :
Définissez le paramètre
evidence
surnull
. Ainsi, aucun accès aux ressources n'est autorisé.- ou -
Si votre application nécessite un accès aux ressources, demandez une preuve à l'appelant.
S’applique à
XmlSecureResolver(XmlResolver, String)
Initialise une nouvelle instance de la classe XmlSecureResolver avec le XmlResolver et l'URL spécifiés.
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 inclus dans un wrapper par le XmlSecureResolver.
- securityUrl
- String
URL utilisée pour créer le PermissionSet qui sera appliqué au XmlResolver sous-jacent. Le XmlSecureResolver appelle PermitOnly() sur le PermissionSet créé avant d'appeler GetEntity(Uri, String, Type) sur le XmlResolver sous-jacent.
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 la .NET Framework Common Language Runtime (CLR) 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 ou Zone les Url informations. 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 le XmlSecureResolver CLR intégré SQL Server, fournissez directement les preuves requises à l’aide d’un clR spécifiéPermissionSet.