WebPermission クラス
アセンブリ: System (system.dll 内)
構文
<SerializableAttribute> _ Public NotInheritable Class WebPermission Inherits CodeAccessPermission Implements IUnrestrictedPermission
[SerializableAttribute] public sealed class WebPermission : CodeAccessPermission, IUnrestrictedPermission
[SerializableAttribute] public ref class WebPermission sealed : public CodeAccessPermission, IUnrestrictedPermission
WebPermission は、インターネット リソースへのアクセスを制御するためのメソッドとプロパティのセットを提供します。WebPermission を使用すると、WebPermission を作成するときに設定される PermissionState に基づいて、リソースへの制限付きまたは無制限のアクセスを提供できます。
WebPermission インスタンスを作成するには、次のいずれかのパラメータ セットを使用して、コンストラクタを呼び出します。
-
PermissionState。Unrestricted を指定することにより、任意の URI を指定するクラスで使用することを許可するか、None を指定することにより、AddPermission メソッドを使用して指定した URI へのアクセスだけを許可します。
-
NetworkAccess 値および URI 文字列。指定した URI が、NetworkAccess 値によって与えられたアクセス許可を持ちます。
-
NetworkAccess 指定子および URI 正規表現。
ConnectList および AcceptList は、アクセス許可を与えた対象の URI を保持します。これらのリストのいずれかに URI を追加するには、AddPermission を使用します。Accept を NetworkAccess パラメータとして渡す場合、URI は AcceptList に追加されます。WebPermission は、AcceptList に一致している URI の指定するクラスへの接続を許可します。
メモ |
---|
リソース標準パスのみを使用してアクセスを Deny (拒否) する必要があります。すべてのパスの構文を使用する必要はありません。 |
Regex を使用して WebPermission の新しいインスタンスを作成する方法の例を次に示します。追加ホストが接続に追加され、WebPermission のリストを受け入れます。最後に、接続と受け入れのリストがコンソールに表示されます。
' Create a Regex that accepts all the URLs contianing the host fragment www.contoso.com. Dim myRegex As New Regex("http://www\.contoso\.com/.*") ' Create a WebPermission that gives permission to all the hosts containing same host fragment. Dim myWebPermission As New WebPermission(NetworkAccess.Connect, myRegex) ' Add connect privileges for a www.adventure-works.com. myWebPermission.AddPermission(NetworkAccess.Connect, "http://www.adventure-works.com") ' Add accept privileges for www.alpineskihouse.com. myWebPermission.AddPermission(NetworkAccess.Accept, "http://www.alpineskihouse.com/") ' Check whether all callers higher in the call stack have been granted the permission. myWebPermission.Demand() ' Get all the URIs with Connect permission. Dim myConnectEnum As IEnumerator = myWebPermission.ConnectList Console.WriteLine(ControlChars.NewLine + "The 'URIs' with 'Connect' permission are :" + ControlChars.NewLine) While myConnectEnum.MoveNext() Console.WriteLine((ControlChars.Tab + myConnectEnum.Current.ToString())) End While ' Get all the URIs with Accept permission. Dim myAcceptEnum As IEnumerator = myWebPermission.AcceptList Console.WriteLine(ControlChars.NewLine + ControlChars.NewLine + "The 'URIs' with 'Accept' permission is :" + ControlChars.NewLine) While myAcceptEnum.MoveNext() Console.WriteLine((ControlChars.Tab + myAcceptEnum.Current)) End While
// Create a Regex that accepts all URLs containing the host fragment www.contoso.com. Regex myRegex = new Regex(@"http://www\.contoso\.com/.*"); // Create a WebPermission that gives permissions to all the hosts containing the same host fragment. WebPermission myWebPermission = new WebPermission(NetworkAccess.Connect ,myRegex); //Add connect privileges for a www.adventure-works.com. myWebPermission.AddPermission(NetworkAccess.Connect,"http://www.adventure-works.com"); //Add accept privileges for www.alpineskihouse.com. myWebPermission.AddPermission(NetworkAccess.Accept, "http://www.alpineskihouse.com/"); // Check whether all callers higher in the call stack have been granted the permission. myWebPermission.Demand(); // Get all the URIs with Connect permission. IEnumerator myConnectEnum = myWebPermission.ConnectList; Console.WriteLine("\nThe 'URIs' with 'Connect' permission are :\n"); while (myConnectEnum.MoveNext()) {Console.WriteLine("\t" + myConnectEnum.Current);} // Get all the URIs with Accept permission. IEnumerator myAcceptEnum = myWebPermission.AcceptList; Console.WriteLine("\n\nThe 'URIs' with 'Accept' permission is :\n"); while (myAcceptEnum.MoveNext()) {Console.WriteLine("\t" + myAcceptEnum.Current);}
// Create a Regex that accepts all URLs containing the host fragment www.contoso.com. Regex^ myRegex = gcnew Regex( "http://www\\.contoso\\.com/.*" ); // Create a WebPermission that gives permissions to all the hosts containing the same host fragment. WebPermission^ myWebPermission = gcnew WebPermission( NetworkAccess::Connect,myRegex ); //Add connect privileges for a www.adventure-works.com. myWebPermission->AddPermission( NetworkAccess::Connect, "http://www.adventure-works.com" ); //Add accept privileges for www.alpineskihouse.com. myWebPermission->AddPermission( NetworkAccess::Accept, "http://www.alpineskihouse.com/" ); // Check whether all callers higher in the call stack have been granted the permission. myWebPermission->Demand(); // Get all the URIs with Connect permission. IEnumerator^ myConnectEnum = myWebPermission->ConnectList; Console::WriteLine( "\nThe 'URIs' with 'Connect' permission are :\n" ); while ( myConnectEnum->MoveNext() ) { Console::WriteLine( "\t{0}", myConnectEnum->Current ); } // Get all the URIs with Accept permission. IEnumerator^ myAcceptEnum = myWebPermission->AcceptList; Console::WriteLine( "\n\nThe 'URIs' with 'Accept' permission is :\n" ); while ( myAcceptEnum->MoveNext() ) { Console::WriteLine( "\t{0}", myAcceptEnum->Current ); }
// Create a Regex that accepts all URLs containing the host fragment // www.contoso.com. Regex myRegex = new Regex("http://www\\.contoso\\.com/.*"); // Create a WebPermission that gives permissions to all the hosts // containing the same host fragment. WebPermission myWebPermission = new WebPermission( NetworkAccess.Connect, myRegex); //Add connect privileges for a www.adventure-works.com. myWebPermission.AddPermission(NetworkAccess.Connect, "http://www.adventure-works.com"); //Add accept privileges for www.alpineskihouse.com. myWebPermission.AddPermission(NetworkAccess.Accept, "http://www.alpineskihouse.com/"); // Check whether all callers higher in the call stack have been // granted the permission. myWebPermission.Demand(); // Get all the URIs with Connect permission. IEnumerator myConnectEnum = myWebPermission.get_ConnectList(); Console.WriteLine("\nThe 'URIs' with 'Connect' permission are :\n"); while (myConnectEnum.MoveNext()) { Console.WriteLine("\t" + myConnectEnum.get_Current()); } // Get all the URIs with Accept permission. IEnumerator myAcceptEnum = myWebPermission.get_AcceptList(); Console.WriteLine("\n\nThe 'URIs' with 'Accept' permission is :\n"); while (myAcceptEnum.MoveNext()) { Console.WriteLine("\t" + myAcceptEnum.get_Current());
System.Security.CodeAccessPermission
System.Net.WebPermission
プラットフォーム
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
WebPermission コンストラクタ ()
アセンブリ: System (system.dll 内)
構文
解説
プラットフォーム
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
WebPermission コンストラクタ (NetworkAccess, Regex)
アセンブリ: System (system.dll 内)
構文
Dim access As NetworkAccess Dim uriRegex As Regex Dim instance As New WebPermission(access, uriRegex)
public WebPermission ( NetworkAccess access, Regex uriRegex )
public: WebPermission ( NetworkAccess access, Regex^ uriRegex )
public WebPermission ( NetworkAccess access, Regex uriRegex )
このコンストラクタは、WebPermission を初期化し、uriRegex パラメータで表された URI を使用して、リモート ホスト接続を確立するため、またはリモート ホスト接続を受け入れるための指定したアクセス許可を与えます。
メモ |
---|
RegexOptions.IgnoreCase、RegexOptions.Compiled、および RegexOptions.Singleline の各フラグを使用して、uriRegex を作成することをお勧めします。 |
メモ |
---|
URI 文字列の候補は、関連する正規表現の一覧 (AcceptList または ConnectList) に対して 2 つの方法で検査されます。最初に、URI 文字列の候補は、該当するリストで照合されます。一致が見つからない場合、URI 文字列の候補は Uri に変換され、該当するリストで照合されます。 |
指定した System.Text.RegularExpressions.Regex に対する接続権を持つ WebPermission の新しいインスタンスを作成する例を次に示します。
' Creates an instance of 'Regex' that accepts all URL's containing the host fragment 'www.contoso.com'. Dim myRegex As New Regex("http://www\.contoso\.com/.*") ' Creates a 'WebPermission' that gives the permissions to all the hosts containing same host fragment. Dim myWebPermission As New WebPermission(NetworkAccess.Connect, myRegex) ' Checks all callers higher in the call stack have been granted the permission. myWebPermission.Demand()
// Create an instance of 'Regex' that accepts all URL's containing the host // fragment 'www.contoso.com'. Regex myRegex = new Regex(@"http://www\.contoso\.com/.*"); // Create a WebPermission that gives the permissions to all the hosts containing // the same fragment. WebPermission myWebPermission = new WebPermission(NetworkAccess.Connect ,myRegex); // Checks all callers higher in the call stack have been granted the permission. myWebPermission.Demand();
// Create an instance of 'Regex' that accepts all URL's containing the host // fragment 'www.contoso.com'. Regex^ myRegex = gcnew Regex( "http://www.contoso.com/.*" ); // Create a WebPermission that gives the permissions to all the hosts containing // the same fragment. WebPermission^ myWebPermission = gcnew WebPermission( NetworkAccess::Connect,myRegex ); // Checks all callers higher in the call stack have been granted the permission. myWebPermission->Demand();
// Create an instance of 'Regex' that accepts all URL's containing // the host fragment 'www.contoso.com'. Regex myRegex = new Regex("http://www\\.contoso\\.com/.*"); // Create a WebPermission that gives the permissions to all the hosts // containing the same fragment. WebPermission myWebPermission = new WebPermission(NetworkAccess. Connect, myRegex); // Checks all callers higher in the call stack have been granted the // permission. myWebPermission.Demand();
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
WebPermission コンストラクタ (NetworkAccess, String)
アセンブリ: System (system.dll 内)
構文
Dim access As NetworkAccess Dim uriString As String Dim instance As New WebPermission(access, uriString)
public WebPermission ( NetworkAccess access, string uriString )
public: WebPermission ( NetworkAccess access, String^ uriString )
public WebPermission ( NetworkAccess access, String uriString )
解説
このコンストラクタは、WebPermission を初期化し、uriString パラメータで表された URI を使用して、リモート ホスト接続を確立するため、またはリモート ホスト接続を受け入れるための指定したアクセス許可を与えます。
指定した URI に対する接続権を持つ WebPermission の新しいインスタンスを作成する例を次に示します。
' Create a WebPermission.instance. Dim myWebPermission1 As New WebPermission(NetworkAccess.Connect, "http://www.contoso.com/default.htm") myWebPermission1.Demand()
// Create a WebPermission.instance. WebPermission myWebPermission1 = new WebPermission(NetworkAccess.Connect ,"http://www.contoso.com/default.htm"); myWebPermission1.Demand();
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
WebPermission コンストラクタ (PermissionState)
アセンブリ: System (system.dll 内)
構文
解説
state パラメータの値は、PermissionState.None または PermissionState.Unrestricted で、それぞれすべてのセキュリティ変数へのアクセスを完全に制限するか、完全に無制限にします。PermissionState.None を指定すると、AddPermission を使用して、個別の URI にアクセスを与えることができます。
WebPermission のインスタンスを作成し、特定の URL にアクセス権を与える例を次に示します。
' Create a WebPermission instance. Dim myWebPermission1 As New WebPermission(PermissionState.None) ' Allow access to the first set of URL's. myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.microsoft.com/default.htm") myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.msn.com") ' Check whether all callers higher in the call stack have been granted the permissionor not. myWebPermission1.Demand()
// Create a WebPermission instance. WebPermission myWebPermission1 = new WebPermission(PermissionState.None); // Allow access to the first set of URL's. myWebPermission1.AddPermission(NetworkAccess.Connect,"http://www.microsoft.com/default.htm"); myWebPermission1.AddPermission(NetworkAccess.Connect,"http://www.msn.com"); // Check whether all callers higher in the call stack have been granted the permissionor not. myWebPermission1.Demand();
// Create a WebPermission instance. WebPermission^ myWebPermission1 = gcnew WebPermission( PermissionState::None ); // Allow access to the first set of URL's. myWebPermission1->AddPermission( NetworkAccess::Connect, "http://www.microsoft.com/default.htm" ); myWebPermission1->AddPermission( NetworkAccess::Connect, "http://www.msn.com" ); // Check whether all callers higher in the call stack have been granted the permissionor not. myWebPermission1->Demand();
// Create a WebPermission instance. WebPermission myWebPermission1 = new WebPermission(PermissionState.None); // Allow access to the first set of URL's. myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.microsoft.com/default.htm"); myWebPermission1.AddPermission(NetworkAccess.Connect, "http://www.msn.com"); // Check whether all callers higher in the call stack have been granted // the permissionor not. myWebPermission1.Demand();
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
WebPermission コンストラクタ
オーバーロードの一覧
名前 | 説明 |
---|---|
WebPermission () | WebPermission クラスの新しいインスタンスを作成します。 |
WebPermission (PermissionState) | すべての要求を渡すか、すべての要求を失敗させる WebPermission クラスの新しいインスタンスを作成します。 |
WebPermission (NetworkAccess, Regex) | 指定した URI 正規表現に対するアクセス権を指定して、WebPermission クラスの新しいインスタンスを初期化します。 |
WebPermission (NetworkAccess, String) | 指定した URI に対して指定したアクセス権を持つ WebPermission クラスの新しいインスタンスを初期化します。 |
WebPermission プロパティ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
AcceptList | このプロパティは、この WebPermission で保持される単一の受け入れ許可の列挙体を返します。返された列挙体に格納される可能性のあるオブジェクトの型は、String および System.Text.RegularExpressions.Regex です。 | |
ConnectList | このプロパティは、この WebPermission で保持される単一の接続許可の列挙体を返します。返された列挙体に格納される可能性のあるオブジェクトの型は、String および System.Text.RegularExpressions.Regex です。 |
WebPermission メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
AddPermission | オーバーロードされます。 指定したアクセス権を持つ指定した URI を現在の WebPermission に追加します。 | |
Assert | アクセス許可要求によって保護されているリソースへのアクセス許可が、スタックの上位にある呼び出し元に与えられていない場合でも、呼び出し元コードが、このメソッドを呼び出すコードを通じてリソースにアクセスできるように宣言します。Assert を使用すると、セキュリティ上の問題が発生することがあります。 ( CodeAccessPermission から継承されます。) | |
Copy | オーバーライドされます。 WebPermission のコピーを作成します。 | |
Demand | コール スタック内の上位にあるすべての呼び出し元に、現在のインスタンスによって指定されているアクセス許可が与えられていない場合は、実行時に SecurityException を強制します。 ( CodeAccessPermission から継承されます。) | |
Deny | コール スタックの上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスによって指定されるリソースにアクセスできないようにします。 ( CodeAccessPermission から継承されます。) | |
Equals | オーバーロードされます。 ( CodeAccessPermission から継承されます。) | |
FromXml | オーバーライドされます。 XML エンコーディングから WebPermission を再構築します。 | |
GetHashCode | ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適した CodeAccessPermission オブジェクトのハッシュ コードを取得します。 ( CodeAccessPermission から継承されます。) | |
GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) | |
Intersect | オーバーライドされます。 2 つの WebPermission インスタンスの論理積集合を返します。 | |
IsSubsetOf | オーバーライドされます。 現在の WebPermission が、指定したオブジェクトのサブセットかどうかを判断します。 | |
IsUnrestricted | WebPermission の全般的なアクセス許可状態をチェックします。 | |
PermitOnly | コール スタックの上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスによって指定されるリソース以外のすべてのリソースにアクセスできないようにします。 ( CodeAccessPermission から継承されます。) | |
ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) | |
RevertAll | 現在のフレームに対する以前のオーバーライドをすべて削除し、無効にします。 ( CodeAccessPermission から継承されます。) | |
RevertAssert | 現在のフレームに対する以前の Assert をすべて削除し、無効にします。 ( CodeAccessPermission から継承されます。) | |
RevertDeny | 現在のフレームに対する以前の Deny をすべて削除し、無効にします。 ( CodeAccessPermission から継承されます。) | |
RevertPermitOnly | 現在のフレームに対する以前の PermitOnly をすべて削除し、無効にします。 ( CodeAccessPermission から継承されます。) | |
ToString | 現在のアクセス許可オブジェクトの文字列形式を作成して返します。 ( CodeAccessPermission から継承されます。) | |
ToXml | オーバーライドされます。 WebPermission とその現在の状態を表す XML エンコーディングを作成します。 | |
Union | オーバーライドされます。 WebPermission クラスの 2 つのインスタンス間の論理和集合を返します。 |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
WebPermission メンバ
HTTP インターネット リソースへのアクセス権を制御します。
WebPermission データ型で公開されるメンバを以下の表に示します。
パブリック コンストラクタ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
AcceptList | このプロパティは、この WebPermission で保持される単一の受け入れ許可の列挙体を返します。返された列挙体に格納される可能性のあるオブジェクトの型は、String および System.Text.RegularExpressions.Regex です。 | |
ConnectList | このプロパティは、この WebPermission で保持される単一の接続許可の列挙体を返します。返された列挙体に格納される可能性のあるオブジェクトの型は、String および System.Text.RegularExpressions.Regex です。 |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
Weblioに収録されているすべての辞書からWebPermissionを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からWebPermission を検索
- WebPermissionのページへのリンク