XmlSecureResolver Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy XmlSecureResolver.
Przeciążenia
| Nazwa | Opis |
|---|---|
| XmlSecureResolver(XmlResolver, PermissionSet) |
Inicjuje nowe wystąpienie XmlSecureResolver klasy za pomocą parametru XmlResolver i PermissionSet . |
| XmlSecureResolver(XmlResolver, Evidence) |
Inicjuje nowe wystąpienie XmlSecureResolver klasy za pomocą parametru XmlResolver i Evidence . |
| XmlSecureResolver(XmlResolver, String) |
Inicjuje XmlSecureResolver nowe wystąpienie klasy z podanym XmlResolver adresem URL i . |
Uwagi
Trzy konstruktory zapewniają trzy typy ograniczeń dostępu:
Konstruktor XmlSecureResolver(XmlResolver, String) ogranicza dostęp przy użyciu adresu URL.
Konstruktor XmlSecureResolver(XmlResolver, PermissionSet) ogranicza dostęp przy użyciu zestawu uprawnień.
Konstruktor XmlSecureResolver(XmlResolver, Evidence) ogranicza dostęp przy użyciu dowodów.
Zapoznaj się z tematami referencyjnymi konstruktorów, aby zapoznać się z przykładami tych typów ograniczeń.
XmlSecureResolver(XmlResolver, PermissionSet)
Inicjuje nowe wystąpienie XmlSecureResolver klasy za pomocą parametru XmlResolver i PermissionSet .
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
Program rozpoznawania kodu XML, który jest opakowany przez element XmlSecureResolver.
- permissionSet
- PermissionSet
Zestaw uprawnień do zastosowania do bazowego XmlResolver. Metoda XmlSecureResolver wywołuje metodę PermitOnly() w zestawie uprawnień przed wywołaniem GetEntity(Uri, String, Type) metody w bazowym rozpoznawaniu kodu XML.
Przykłady
Poniższy przykład konstruuje XmlSecureResolver obiekt przy użyciu dostosowanego zestawu uprawnień.
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
Zobacz też
Dotyczy
XmlSecureResolver(XmlResolver, Evidence)
Inicjuje nowe wystąpienie XmlSecureResolver klasy za pomocą parametru XmlResolver i Evidence .
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
Program rozpoznawania kodu XML, który jest opakowany przez element XmlSecureResolver.
- evidence
- Evidence
Dowody użyte do utworzenia elementu PermissionSet , które zostaną zastosowane do bazowego XmlResolverelementu . Wywołanie XmlSecureResolverPermitOnly() metody utworzonej PermissionSet przed wywołaniem GetEntity(Uri, String, Type) metody w bazowym XmlResolverobiekcie .
Uwagi
Poniżej przedstawiono niektóre możliwe scenariusze i typ dowodów, które należy dostarczyć dla każdego scenariusza:
Jeśli pracujesz w w pełni zaufanym środowisku, użyj zestawu, aby utworzyć dowody:
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)Jeśli pracujesz w częściowo zaufanym środowisku, masz kod lub dane pochodzące z zewnętrznego źródła i znasz pochodzenie zewnętrznego źródła i masz weryfikowalny identyfikator URI, użyj identyfikatora URI, aby utworzyć dowody:
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)Jeśli pracujesz w częściowo zaufanym środowisku i masz kod lub dane pochodzące z zewnętrznego źródła, ale nie znasz jego pochodzenia, to:
evidenceUstaw parametr nanull. Umożliwia to brak dostępu do zasobów.— lub —
Jeśli aplikacja wymaga dostępu do zasobów, zażądaj dowodów od obiektu wywołującego.
Dotyczy
XmlSecureResolver(XmlResolver, String)
- Źródło:
- XmlSecureResolver.cs
- Źródło:
- XmlSecureResolver.cs
- Źródło:
- XmlSecureResolver.cs
- Źródło:
- XmlSecureResolver.cs
- Źródło:
- XmlSecureResolver.cs
Inicjuje XmlSecureResolver nowe wystąpienie klasy z podanym XmlResolver adresem URL i .
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
Program rozpoznawania kodu XML, który jest opakowany przez element XmlSecureResolver.
- securityUrl
- String
Adres URL użyty do utworzenia elementu PermissionSet , który zostanie zastosowany do bazowego XmlResolverelementu . Wywołania XmlSecureResolverPermitOnly() elementu utworzonego PermissionSet przed wywołaniem GetEntity(Uri, String, Type) elementu bazowego XmlResolver.
Przykłady
W tym przykładzie użyto konstruktora XmlSecureResolver(XmlResolver, String) do utworzenia XmlSecureResolver obiektu, który może uzyskiwać dostęp tylko do lokalnej witryny intranetowej.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://myLocalSite/");
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://myLocalSite/")
Uwagi
Ważna
Istnieją różnice w infrastrukturze zabezpieczeń kodu uruchomionego w środowisku uruchomieniowym języka wspólnego platformy .NET (CLR) oraz w przypadku kodu uruchomionego w środowisku CLR zintegrowanym w Microsoft SQL Server 2005. Może to prowadzić do przypadków, w których kod opracowany dla środowiska CLR platformy .NET działa inaczej, gdy jest używany w SQL Server zintegrowanej clR. Jedna z tych różnic wpływa na klasę XmlSecureResolver , gdy masz dowód oparty na adresie URL (czyli w przypadku używania CreateEvidenceForUrl metody lub konstruktora XmlSecureResolver(XmlResolver, String) ). Mechanizm rozwiązywania polityk zintegrowanego środowiska CLR programu SQL Server nie używa informacji Url ani Zone. Zamiast tego przyznaje uprawnienia na podstawie identyfikatora GUID, który serwer dodaje podczas ładowania zestawów. W przypadku używania w zintegrowanym środowisku XmlSecureResolver programu SQL Server, podaj wszelkie wymagane dowody bezpośrednio, korzystając z określonego PermissionSet.