XmlSecureResolver クラス
アセンブリ: System.Xml (system.xml.dll 内)


XmlSecureResolver は XmlResolver の具体的な実装をラップし、基になる XmlResolver がアクセスできるリソースを制限します。たとえば、XmlSecureResolver には、埋め込まれた URI (Uniform Resource Identifier) 参照から発生するドメイン間のリダイレクトを禁止する機能が用意されています。
XmlSecureResolver オブジェクトを構築するときに、有効な XmlResolver 実装と URL、System.Security.Policy.Evidence のインスタンス、または、System.Security.PermissionSet を設定します。XmlSecureResolver は、これらを使用してセキュリティを判断します。System.Security.PermissionSet が生成されるか既存の PermissionSet が使用され、その PermissionSet で PermissionSet.PermitOnly が呼び出され、基になる XmlResolver のセキュリティ保護を支援します。
![]() |
---|
.NET Framework 共通言語ランタイム (CLR: Common Language Runtime) で実行するコードと、Microsoft SQL Server 2005 内に統合された CLR で実行するコード用のセキュリティ インフラストラクチャには相違点があります。このため、.NET Framework CLR 用に開発されたコードを SQL Server に統合された CLR で使用すると、動作が異なる可能性があります。これらの相違点の 1 つは、URL に基づく証拠を使用している場合に XmlSecureResolver クラスに影響を与えます (これは、CreateEvidenceForUrl メソッドまたは XmlSecureResolver(XmlResolver,String) コンストラクタを使用している場合に発生する可能性があります)。SQL Server に統合された CLR のポリシー解決の機構は、Url 情報や Zone 情報を利用しません。代わりに、SQL Server に統合された CLR は、アセンブリを読み込んだときにサーバーによって追加される GUID に基づいてアクセス許可を与えます。SQL Server に統合された CLR の XmlSecureResolver を使用する場合は、指定された PermissionSet を直接使用する必須の証拠を提供してください。 |

System.Xml.XmlResolver
System.Xml.XmlSecureResolver


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlSecureResolver コンストラクタ (XmlResolver, String)
アセンブリ: System.Xml (system.xml.dll 内)

Dim resolver As XmlResolver Dim securityUrl As String Dim instance As New XmlSecureResolver(resolver, securityUrl)

![]() |
---|
.NET Framework 共通言語ランタイム (CLR) で実行するコードと、Microsoft SQL Server 2005 内に統合された CLR で実行するコード用のセキュリティ インフラストラクチャには相違点があります。このため、.NET Framework CLR 用に開発されたコードを SQL Server に統合された CLR で使用すると、動作が異なる可能性があります。これらの相違点の 1 つは、URL に基づく証拠を使用している場合に XmlSecureResolver クラスに影響を与えます (これは、CreateEvidenceForUrl メソッドまたは XmlSecureResolver(XmlResolver,String) コンストラクタを使用している場合に発生する可能性があります)。SQL Server に統合された CLR のポリシー解決の機構は、Url 情報や Zone 情報を利用しません。代わりに、SQL Server に統合された CLR は、アセンブリを読み込んだときにサーバーによって追加される GUID に基づいてアクセス許可を与えます。SQL Server に統合された CLR の XmlSecureResolver を使用する場合は、指定された PermissionSet を直接使用する必須の証拠を提供してください。 |

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlSecureResolver コンストラクタ (XmlResolver, PermissionSet)
アセンブリ: System.Xml (system.xml.dll 内)

Dim resolver As XmlResolver Dim permissionSet As PermissionSet Dim instance As New XmlSecureResolver(resolver, permissionSet)

カスタマイズされたアクセス許可セットを使用して、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 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
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); }
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. System.Security.Policy.Evidence evidence = XmlSecureResolver. CreateEvidenceForUrl(fileURL); PermissionSet myPermissions = System.Security.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); } //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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlSecureResolver コンストラクタ

名前 | 説明 |
---|---|
XmlSecureResolver (XmlResolver, Evidence) | XmlResolver と System.Security.Policy.Evidence を指定して、XmlSecureResolver クラスの新しいインスタンスを初期化します。 |
XmlSecureResolver (XmlResolver, PermissionSet) | XmlResolver と System.Security.PermissionSet を指定して、XmlSecureResolver クラスの新しいインスタンスを初期化します。 |
XmlSecureResolver (XmlResolver, String) | XmlResolver と URL を指定して、XmlSecureResolver クラスの新しいインスタンスを初期化します。 |

XmlSecureResolver コンストラクタ (XmlResolver, Evidence)
アセンブリ: System.Xml (system.xml.dll 内)

Dim resolver As XmlResolver Dim evidence As Evidence Dim instance As New XmlSecureResolver(resolver, evidence)

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlSecureResolver プロパティ
XmlSecureResolver メソッド

名前 | 説明 | |
---|---|---|
![]() | CreateEvidenceForUrl | 指定された URL を使用して、System.Security.Policy.Evidence を作成します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetEntity | オーバーライドされます。 実際のリソースを含むオブジェクトに URI を安全に割り当てます。このメソッドは、基になる XmlResolver で GetEntity を呼び出す前に PermissionSet.PermitOnly を呼び出すことで、コンストラクタで作成された System.Security.PermissionSet を一時的に設定してリソースを開きます。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ResolveUri | オーバーライドされます。 基になる XmlResolver で ResolveUri を呼び出して、ベース URI と相対 URI から絶対 URI を解決します。 |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

XmlSecureResolver メンバ
XmlResolver オブジェクトをラップし、基になっている XmlResolver がアクセスできるリソースを制限することによって、XmlResolver の別の実装のセキュリティ保護を支援します。
XmlSecureResolver データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | CreateEvidenceForUrl | 指定された URL を使用して、System.Security.Policy.Evidence を作成します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetEntity | オーバーライドされます。 実際のリソースを含むオブジェクトに URI を安全に割り当てます。このメソッドは、基になる XmlResolver で GetEntity を呼び出す前に PermissionSet.PermitOnly を呼び出すことで、コンストラクタで作成された System.Security.PermissionSet を一時的に設定してリソースを開きます。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ResolveUri | オーバーライドされます。 基になる XmlResolver で ResolveUri を呼び出して、ベース URI と相対 URI から絶対 URI を解決します。 |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- XmlSecureResolverのページへのリンク