XmlSecureResolver Konstruktorer
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initierar en ny instans av XmlSecureResolver klassen.
Överlagringar
| Name | Description |
|---|---|
| XmlSecureResolver(XmlResolver, PermissionSet) |
Initierar en ny instans av XmlSecureResolver klassen med och XmlResolverPermissionSet angivet. |
| XmlSecureResolver(XmlResolver, Evidence) |
Initierar en ny instans av XmlSecureResolver klassen med och XmlResolverEvidence angivet. |
| XmlSecureResolver(XmlResolver, String) |
Initierar en ny instans av XmlSecureResolver klassen med den XmlResolver angivna URL:en och. |
Kommentarer
De tre konstruktorerna har tre typer av åtkomstbegränsningar:
Konstruktorn XmlSecureResolver(XmlResolver, String) begränsar åtkomsten med hjälp av en URL.
Konstruktorn XmlSecureResolver(XmlResolver, PermissionSet) begränsar åtkomsten med hjälp av en behörighetsuppsättning.
Konstruktorn XmlSecureResolver(XmlResolver, Evidence) begränsar åtkomsten med hjälp av bevis.
I referensavsnitten för konstruktor finns exempel på dessa typer av begränsningar.
XmlSecureResolver(XmlResolver, PermissionSet)
Initierar en ny instans av XmlSecureResolver klassen med och XmlResolverPermissionSet angivet.
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)
Parametrar
- resolver
- XmlResolver
XML-matcharen som omsluts av XmlSecureResolver.
- permissionSet
- PermissionSet
Behörighetsuppsättningen som ska tillämpas på den underliggande XmlResolver. Anropar XmlSecureResolverPermitOnly() -metoden i behörighetsuppsättningen innan metoden GetEntity(Uri, String, Type) anropas på den underliggande XML-matcharen.
Exempel
I följande exempel skapas ett XmlSecureResolver objekt med hjälp av en anpassad behörighetsuppsättning.
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
Se även
Gäller för
XmlSecureResolver(XmlResolver, Evidence)
Initierar en ny instans av XmlSecureResolver klassen med och XmlResolverEvidence angivet.
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)
Parametrar
- resolver
- XmlResolver
XML-matcharen som omsluts av XmlSecureResolver.
- evidence
- Evidence
De bevis som används för att skapa PermissionSet som ska tillämpas på den underliggande XmlResolver. Anropar metoden på den skapade XmlSecureResolver innan den anropar PermitOnly() den underliggande PermissionSet.GetEntity(Uri, String, Type)XmlResolver
Kommentarer
Här följer några möjliga scenarier och vilken typ av bevis som ska tillhandahållas för varje scenario:
Om du arbetar i en helt betrodd miljö använder du din assembly för att skapa evidens:
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)Om du arbetar i en halvbetrott miljö har du kod eller data som kommer från en extern källa, och du vet ursprunget för den externa källan och har en verifierbar URI använder du URI:n för att skapa bevis:
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)Om du arbetar i en miljö med begränsat förtroende och har kod eller data som har kommit från en extern källa, men inte vet ursprunget till den externa källan:
Ange parametern
evidencetillnull. Detta ger ingen åtkomst till resurser.-eller-
Om programmet kräver viss åtkomst till resurser begär du bevis från anroparen.
Gäller för
XmlSecureResolver(XmlResolver, String)
- Källa:
- XmlSecureResolver.cs
- Källa:
- XmlSecureResolver.cs
- Källa:
- XmlSecureResolver.cs
- Källa:
- XmlSecureResolver.cs
- Källa:
- XmlSecureResolver.cs
Initierar en ny instans av XmlSecureResolver klassen med den XmlResolver angivna URL:en och.
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)
Parametrar
- resolver
- XmlResolver
XML-matcharen som omsluts av XmlSecureResolver.
- securityUrl
- String
Den URL som används för att skapa PermissionSet som ska tillämpas på den underliggande XmlResolver. Anropen XmlSecureResolverPermitOnly() på den skapade PermissionSet innan du anropar GetEntity(Uri, String, Type) den underliggande XmlResolver.
Exempel
I det XmlSecureResolver(XmlResolver, String) här exemplet används konstruktorn för att skapa ett XmlSecureResolver objekt som endast får åtkomst till din lokala intranätplats.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://myLocalSite/");
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://myLocalSite/")
Kommentarer
Important
Det finns skillnader i säkerhetsinfrastrukturen för kod som körs på .NET Framework common language runtime (CLR) och för kod som körs på CLR som är integrerad i Microsoft SQL Server 2005. Detta kan leda till fall där kod som utvecklats för .NET Framework CLR fungerar annorlunda när den används på SQL Server integrerad CLR. En av dessa skillnader påverkar XmlSecureResolver klassen när du har bevis som baseras på en URL (dvs. när du använder CreateEvidenceForUrl metoden eller XmlSecureResolver(XmlResolver, String) konstruktorn). Den integrerade policyresolutionsmekanismen för CLR i SQL Server använder inte Url eller Zone informationen. I stället beviljas behörigheter baserat på det GUID som servern lägger till när sammansättningar läses in. När du använder XmlSecureResolver i den integrerade CLR:en för SQL Server anger du alla nödvändiga bevis direkt med hjälp av en angiven PermissionSet.