XmlSecureResolver Oluşturucular
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
XmlSecureResolver sınıfının yeni bir örneğini başlatır.
Aşırı Yüklemeler
XmlSecureResolver(XmlResolver, PermissionSet) |
ve PermissionSet ile XmlResolver sınıfının yeni bir örneğini XmlSecureResolver başlatır. |
XmlSecureResolver(XmlResolver, Evidence) |
ve Evidence ile XmlResolver sınıfının yeni bir örneğini XmlSecureResolver başlatır. |
XmlSecureResolver(XmlResolver, String) |
ve URL'si XmlSecureResolver ile XmlResolver sınıfının yeni bir örneğini başlatır. |
Açıklamalar
Üç oluşturucu üç tür erişim kısıtlaması sağlar:
Oluşturucu, XmlSecureResolver(XmlResolver, String) URL kullanarak erişimi kısıtlar.
Oluşturucu, XmlSecureResolver(XmlResolver, PermissionSet) bir izin kümesi kullanarak erişimi kısıtlar.
XmlSecureResolver(XmlResolver, Evidence) Oluşturucu, kanıt kullanarak erişimi kısıtlar.
Bu tür kısıtlamaların örnekleri için oluşturucu başvuru konularına bakın.
XmlSecureResolver(XmlResolver, PermissionSet)
ve PermissionSet ile XmlResolver sınıfının yeni bir örneğini XmlSecureResolver başlatır.
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)
Parametreler
- resolver
- XmlResolver
tarafından sarmalanan XML çözümleyicisi XmlSecureResolver.
- permissionSet
- PermissionSet
Temel alınan XmlResolveröğesine uygulanacak izin kümesi. , XmlSecureResolver temel alınan XML çözümleyicisinde yöntemini çağırmadan GetEntity(Uri, String, Type) önce izin kümesindeki yöntemini çağırırPermitOnly().
Örnekler
Aşağıdaki örnek, özelleştirilmiş bir izin kümesi kullanarak bir XmlSecureResolver nesnesi oluşturur.
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
Ayrıca bkz.
Şunlara uygulanır
XmlSecureResolver(XmlResolver, Evidence)
ve Evidence ile XmlResolver sınıfının yeni bir örneğini XmlSecureResolver başlatır.
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)
Parametreler
- resolver
- XmlResolver
tarafından sarmalanan XML çözümleyicisi XmlSecureResolver.
- evidence
- Evidence
Temel alınan XmlResolveröğesine uygulanacak olan öğesini oluşturmak PermissionSet için kullanılan kanıt. , XmlSecureResolver temel alınan PermitOnly() XmlResolverüzerinde çağrı GetEntity(Uri, String, Type) yapmadan önce oluşturulan PermissionSet üzerinde yöntemini çağırır.
Açıklamalar
Bazı olası senaryolar ve her senaryo için sağlayabilecek kanıt türleri şunlardır:
Tam olarak güvenilen bir ortamda çalışıyorsanız kanıtı oluşturmak için derlemenizi kullanın:
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)
Yarı güvenilir bir ortamda çalışıyorsanız, bir dış kaynaktan gelen kodunuz veya verileriniz varsa ve dış kaynağın kaynağını biliyorsanız ve doğrulanabilir bir URI'niz varsa, kanıtı oluşturmak için URI'yi kullanın:
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)
Yarı güvenilir bir ortamda çalışıyorsanız ve dış kaynaktan gelen kodunuz veya verileriniz varsa ancak dış kaynağın kaynağını da bilmiyorsanız:
parametresini
evidence
olaraknull
ayarlayın. Bu, kaynaklara erişime izin verir.-veya-
Uygulamanız kaynaklara erişim gerektiriyorsa, çağırandan kanıt isteyin.
Şunlara uygulanır
XmlSecureResolver(XmlResolver, String)
ve URL'si XmlSecureResolver ile XmlResolver sınıfının yeni bir örneğini başlatır.
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)
Parametreler
- resolver
- XmlResolver
tarafından sarmalanan XML çözümleyicisi XmlSecureResolver.
- securityUrl
- String
Temel alınan XmlResolveröğesine uygulanacak olan PermissionSet öğesini oluşturmak için kullanılan URL. temel XmlSecureResolver alınan XmlResolverüzerinde çağrı PermitOnly() GetEntity(Uri, String, Type) yapmadan önce oluşturulan PermissionSet çağrısı.
Örnekler
Bu örnekte oluşturucu, yalnızca yerel intranet sitenize erişmesine izin verilen bir XmlSecureResolver nesne oluşturmak için kullanılırXmlSecureResolver(XmlResolver, String).
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://myLocalSite/");
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://myLocalSite/")
Açıklamalar
Önemli
.NET Framework ortak dil çalışma zamanında (CLR) çalıştırılan kod ve Microsoft SQL Server 2005'te tümleştirilmiş CLR üzerinde çalışan kod için güvenlik altyapısında farklılıklar vardır. Bu, .NET Framework CLR için geliştirilen kodun SQL Server tümleşik CLR'de kullanıldığında farklı çalıştığı durumlara yol açabilir. Bu farklardan biri, bir URL'yi temel alan kanıtınız olduğunda sınıfı etkiler XmlSecureResolver (yani, yöntemini veya oluşturucuyu CreateEvidenceForUrl XmlSecureResolver(XmlResolver, String) kullandığınızda). tümleşik SQL Server CLR'nin ilke çözümleme mekanizması veya Zone bilgilerini kullanmazUrl. Bunun yerine, derlemeler yüklendiğinde sunucunun eklediği GUID'ye göre izinler verir. SQL Server tümleşik CLR'de kullandığınızdaXmlSecureResolver, belirtilen PermissionSetkullanarak gerekli tüm kanıtları doğrudan sağlayın.