XmlSecureResolver Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci XmlSecureResolver třídy.
Přetížení
| Name | Description |
|---|---|
| XmlSecureResolver(XmlResolver, PermissionSet) |
Inicializuje novou instanci XmlSecureResolver třídy se zadaným a XmlResolver zadaným objektemPermissionSet. |
| XmlSecureResolver(XmlResolver, Evidence) |
Inicializuje novou instanci XmlSecureResolver třídy se zadaným a XmlResolver zadaným objektemEvidence. |
| XmlSecureResolver(XmlResolver, String) |
Inicializuje novou instanci XmlSecureResolver třídy s zadanou XmlResolver adresou URL. |
Poznámky
Tři konstruktory poskytují tři typy omezení přístupu:
Konstruktor XmlSecureResolver(XmlResolver, String) omezuje přístup pomocí adresy URL.
Konstruktor XmlSecureResolver(XmlResolver, PermissionSet) omezuje přístup pomocí sady oprávnění.
Konstruktor XmlSecureResolver(XmlResolver, Evidence) omezuje přístup pomocí důkazů.
Příklady těchto typů omezení najdete v referenčních tématech konstruktoru.
XmlSecureResolver(XmlResolver, PermissionSet)
Inicializuje novou instanci XmlSecureResolver třídy se zadaným a XmlResolver zadaným objektemPermissionSet.
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)
Parametry
- resolver
- XmlResolver
Překladač XML, který je zabalen pomocí XmlSecureResolver.
- permissionSet
- PermissionSet
Oprávnění nastavená tak, aby se vztahovala na podkladovou XmlResolversadu . Volá XmlSecureResolver metodu PermitOnly() pro sadu oprávnění před voláním GetEntity(Uri, String, Type) metody v podkladovém překladače XML.
Příklady
Následující příklad vytvoří XmlSecureResolver objekt pomocí přizpůsobené sady oprávnění.
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
Viz také
Platí pro
XmlSecureResolver(XmlResolver, Evidence)
Inicializuje novou instanci XmlSecureResolver třídy se zadaným a XmlResolver zadaným objektemEvidence.
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)
Parametry
- resolver
- XmlResolver
Překladač XML, který je zabalen pomocí XmlSecureResolver.
- evidence
- Evidence
Důkazy použité k vytvoření PermissionSet , které budou použity na podkladové XmlResolver. Volání XmlSecureResolverPermitOnly() metody vytvořené PermissionSet před voláním GetEntity(Uri, String, Type) na podkladové XmlResolver.
Poznámky
Tady je několik možných scénářů a typ důkazů, které se mají poskytnout pro každý scénář:
Pokud pracujete v plně důvěryhodném prostředí, vytvořte pomocí sestavení důkaz:
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)Pokud pracujete v částečně důvěryhodném prostředí, máte kód nebo data pocházející z vnějšího zdroje a znáte původ vnějšího zdroje a máte ověřitelný identifikátor URI, pomocí tohoto identifikátoru URI vytvořte důkazy:
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)Pokud pracujete v částečně důvěryhodném prostředí a máte kód nebo data pocházející z vnějšího zdroje, ale neznáte původ vnějšího zdroje:
Nastavte parametr na
evidencenull. To neumožňuje přístup k prostředkům.nebo
Pokud vaše aplikace vyžaduje přístup k prostředkům, požádejte volajícího o důkaz.
Platí pro
XmlSecureResolver(XmlResolver, String)
- Zdroj:
- XmlSecureResolver.cs
- Zdroj:
- XmlSecureResolver.cs
- Zdroj:
- XmlSecureResolver.cs
- Zdroj:
- XmlSecureResolver.cs
- Zdroj:
- XmlSecureResolver.cs
Inicializuje novou instanci XmlSecureResolver třídy s zadanou XmlResolver adresou 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)
Parametry
- resolver
- XmlResolver
Překladač XML, který je zabalen pomocí XmlSecureResolver.
- securityUrl
- String
Adresa URL použitá PermissionSet k vytvoření, která se použije u podkladového XmlResolverobjektu . Volání XmlSecureResolverPermitOnly() vytvořené PermissionSet před voláním GetEntity(Uri, String, Type) na podkladové XmlResolver.
Příklady
Tento příklad používá konstruktor k vytvoření objektu XmlSecureResolver(XmlResolver, String)XmlSecureResolver , který má povolený přístup pouze k místnímu intranetu webu.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://myLocalSite/");
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://myLocalSite/")
Poznámky
Important
Existují rozdíly v infrastruktuře zabezpečení pro kód spuštěný v modulu CLR (Common Language Runtime) .NET Frameworku a pro kód spuštěný v modulu CLR, který je integrovaný v Microsoft SQL Server 2005. To může vést k případům, kdy kód vyvinutý pro .NET Framework CLR funguje jinak, když se používá na SQL Server integrovaném CLR. Jeden z těchto rozdílů ovlivňuje XmlSecureResolver třídu, pokud máte důkazy, které jsou založené na adrese URL (to znamená při použití CreateEvidenceForUrl metody nebo konstruktoru XmlSecureResolver(XmlResolver, String) ). Mechanismus řešení zásad integrovaného CLR v SQL Serveru nepoužívá informace typu Url ani Zone. Místo toho uděluje oprávnění na základě identifikátoru GUID, který server přidá při načtení sestavení. Pokud použijete XmlSecureResolver v integrovaném modulu CLR systému SQL Server, uveďte všechny požadované důkazy přímo pomocí zadaného PermissionSet.