XmlSecureResolver コンストラクタ (XmlResolver, PermissionSet)
XmlResolver と System.Security.PermissionSet を指定して、XmlSecureResolver クラスの新しいインスタンスを初期化します。
名前空間: System.Xml
アセンブリ: System.Xml (system.xml.dll 内)
構文
'宣言
Public Sub New ( _
resolver As XmlResolver, _
permissionSet As PermissionSet _
)
'使用
Dim resolver As XmlResolver
Dim permissionSet As PermissionSet
Dim instance As New XmlSecureResolver(resolver, permissionSet)
public XmlSecureResolver (
XmlResolver resolver,
PermissionSet permissionSet
)
public:
XmlSecureResolver (
XmlResolver^ resolver,
PermissionSet^ permissionSet
)
public XmlSecureResolver (
XmlResolver resolver,
PermissionSet permissionSet
)
public function XmlSecureResolver (
resolver : XmlResolver,
permissionSet : PermissionSet
)
パラメータ
- resolver
XmlSecureResolver によってラップされる XmlResolver。
- permissionSet
基になる XmlResolver に適用する System.Security.PermissionSet。XmlSecureResolver は、基になる XmlResolver で GetEntity を呼び出す前に、作成済みの PermissionSet で PermissionSet.PermitOnly を呼び出します。
使用例
カスタマイズされたアクセス許可セットを使用して、XmlSecureResolver オブジェクトを構築する例を次に示します。
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 https://www.contoso.com.
' Create a WebPermission that only allows access to https://www.contoso.com.
Dim myWebPermission as WebPermission = new WebPermission(NetworkAccess.Connect, "https://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
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 https://www.contoso.com.
// Create a WebPermission which only allows access to https://www.contoso.com.
WebPermission myWebPermission = new WebPermission(NetworkAccess.Connect, "https://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);
}
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 https://www.contoso.com.
// Create a WebPermission which only allows access to https://www.contoso.com.
WebPermission^ myWebPermission = gcnew WebPermission(
NetworkAccess::Connect,"https://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.
System.Security.Policy.Evidence evidence = XmlSecureResolver.
CreateEvidenceForUrl(fileURL);
PermissionSet myPermissions = System.Security.SecurityManager.
ResolvePolicy(evidence);
// Modify the PermissionSet to only allow access to
// https://www.contoso.com.
// Create a WebPermission which only allows access to
// https://www.contoso.com.
WebPermission myWebPermission = new WebPermission(
NetworkAccess.Connect, "https://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);
} //GetFile
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1
参照
関連項目
XmlSecureResolver クラス
XmlSecureResolver メンバ
System.Xml 名前空間
CreateEvidenceForUrl
System.Security.Policy.Evidence
System.Net.WebPermission
System.Security.SecurityManager