XmlSecureResolver Konstruktor
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menginisialisasi instans baru dari kelas XmlSecureResolver.
Overload
| Nama | Deskripsi |
|---|---|
| XmlSecureResolver(XmlResolver, PermissionSet) |
Menginisialisasi instans XmlSecureResolver baru kelas dengan XmlResolver dan PermissionSet yang ditentukan. |
| XmlSecureResolver(XmlResolver, Evidence) |
Menginisialisasi instans XmlSecureResolver baru kelas dengan XmlResolver dan Evidence yang ditentukan. |
| XmlSecureResolver(XmlResolver, String) |
Menginisialisasi instans XmlSecureResolver baru kelas dengan XmlResolver URL dan yang disediakan. |
Keterangan
Ketiga konstruktor menyediakan tiga jenis pembatasan akses:
XmlSecureResolver(XmlResolver, String) Konstruktor membatasi akses dengan menggunakan URL.
XmlSecureResolver(XmlResolver, PermissionSet) Konstruktor membatasi akses dengan menggunakan set izin.
XmlSecureResolver(XmlResolver, Evidence) Konstruktor membatasi akses dengan menggunakan bukti.
Lihat topik referensi konstruktor untuk contoh jenis pembatasan ini.
XmlSecureResolver(XmlResolver, PermissionSet)
Menginisialisasi instans XmlSecureResolver baru kelas dengan XmlResolver dan PermissionSet yang ditentukan.
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)
Parameter
- resolver
- XmlResolver
Pemecah masalah XML yang dibungkus oleh XmlSecureResolver.
- permissionSet
- PermissionSet
Izin yang diatur untuk diterapkan ke yang mendasar XmlResolver. Memanggil XmlSecureResolver metode pada set izin sebelum memanggil PermitOnly() metode pada pemecah masalah XML yang mendasarGetEntity(Uri, String, Type).
Contoh
Contoh berikut membuat objek dengan menggunakan set izin yang dikustomisasi XmlSecureResolver .
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
Lihat juga
Berlaku untuk
XmlSecureResolver(XmlResolver, Evidence)
Menginisialisasi instans XmlSecureResolver baru kelas dengan XmlResolver dan Evidence yang ditentukan.
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)
Parameter
- resolver
- XmlResolver
Pemecah masalah XML yang dibungkus oleh XmlSecureResolver.
- evidence
- Evidence
Bukti yang digunakan untuk membuat PermissionSet yang akan diterapkan ke yang mendasar XmlResolver. Memanggil XmlSecureResolver metode pada yang dibuat PermitOnly() sebelum memanggil PermissionSet pada yang mendasar GetEntity(Uri, String, Type)XmlResolver.
Keterangan
Berikut adalah beberapa skenario yang mungkin dan jenis bukti yang harus disediakan untuk setiap skenario:
Jika Anda bekerja di lingkungan yang sepenuhnya tepercaya, gunakan rakitan Anda untuk menciptakan bukti.
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)Jika Anda bekerja di lingkungan semi-tepercaya, Anda memiliki kode atau data yang berasal dari sumber luar, dan Anda tahu asal sumber luar dan memiliki URI yang dapat diverifikasi, gunakan URI untuk membuat bukti:
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)Jika Anda bekerja di lingkungan yang semi-tepercaya dan Anda memiliki kode atau data yang berasal dari sumber luar, tetapi Anda tidak tahu dari mana asal sumber luar tersebut.
Atur parameter
evidencemenjadinull. Ini memungkinkan tidak ada akses ke sumber daya.-atau-
Jika aplikasi Anda memerlukan beberapa akses ke sumber daya, minta bukti dari pemanggil.
Berlaku untuk
XmlSecureResolver(XmlResolver, String)
- Sumber:
- XmlSecureResolver.cs
- Sumber:
- XmlSecureResolver.cs
- Sumber:
- XmlSecureResolver.cs
- Sumber:
- XmlSecureResolver.cs
- Sumber:
- XmlSecureResolver.cs
Menginisialisasi instans XmlSecureResolver baru kelas dengan XmlResolver URL dan yang disediakan.
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)
Parameter
- resolver
- XmlResolver
Pemecah masalah XML yang dibungkus oleh XmlSecureResolver.
- securityUrl
- String
URL yang PermissionSet digunakan untuk membuat yang akan diterapkan ke yang mendasar XmlResolver. XmlSecureResolver Panggilan pada yang dibuat PermitOnly() sebelum memanggil PermissionSet pada yang mendasar GetEntity(Uri, String, Type)XmlResolver.
Contoh
Contoh ini menggunakan XmlSecureResolver(XmlResolver, String) konstruktor untuk membuat XmlSecureResolver objek yang diizinkan untuk mengakses situs intranet lokal Anda saja.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://myLocalSite/");
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://myLocalSite/")
Keterangan
Important
Ada perbedaan dalam infrastruktur keamanan untuk kode yang berjalan pada .NET Framework common language runtime (CLR) dan untuk kode yang berjalan pada CLR yang terintegrasi dalam Microsoft SQL Server 2005. Ini dapat menyebabkan kasus di mana kode yang dikembangkan untuk .NET Framework CLR beroperasi secara berbeda ketika digunakan pada CLR terintegrasi SQL Server. Salah satu perbedaan ini memengaruhi kelas XmlSecureResolver ketika Anda memiliki bukti yang didasarkan pada URL (yaitu, ketika Anda menggunakan metode CreateEvidenceForUrl atau konstruktor XmlSecureResolver(XmlResolver, String)). Mekanisme resolusi kebijakan dari CLR terintegrasi SQL Server tidak menggunakan informasi Url atau Zone. Sebaliknya, ia memberikan izin berdasarkan GUID yang ditambahkan server saat assembly dimuat. Ketika Anda menggunakan XmlSecureResolver di CLR terintegrasi SQL Server, berikan bukti yang diperlukan secara langsung dengan menggunakan PermissionSet.