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


Weblioに収録されているすべての辞書からWebPermission クラスを検索する場合は、下記のリンクをクリックしてください。

- WebPermission クラスのページへのリンク