WebPermissionとは? わかりやすく解説

WebPermission クラス

HTTP インターネット リソースへのアクセス権を制御します。

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

<SerializableAttribute> _
Public NotInheritable Class
 WebPermission
    Inherits CodeAccessPermission
    Implements IUnrestrictedPermission
Dim instance As WebPermission
[SerializableAttribute] 
public sealed class WebPermission : CodeAccessPermission,
 IUnrestrictedPermission
[SerializableAttribute] 
public ref class WebPermission sealed : public
 CodeAccessPermission, IUnrestrictedPermission
/** @attribute SerializableAttribute() */ 
public final class WebPermission extends CodeAccessPermission
 implements IUnrestrictedPermission
SerializableAttribute 
public final class WebPermission extends
 CodeAccessPermission implements IUnrestrictedPermission
解説解説

WebPermission は、インターネット リソースへのアクセスを制御するためのメソッドとプロパティのセットを提供します。WebPermission を使用すると、WebPermission を作成するときに設定される PermissionState に基づいて、リソースへの制限付きまたは無制限のアクセスを提供できます。

WebPermission インスタンスを作成するには、次のいずれかのパラメータ セットを使用して、コンストラクタを呼び出します。

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.Object
   System.Security.CodeAccessPermission
    System.Net.WebPermission
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WebPermission メンバ
System.Net 名前空間
CodeAccessPermission
PermissionState
NetworkAccess 列挙体

WebPermission コンストラクタ ()


WebPermission コンストラクタ (NetworkAccess, Regex)

指定した URI 正規表現に対するアクセス権を指定して、WebPermission クラスの新しいインスタンスを初期化します。

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

解説解説
使用例使用例

指定した 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();
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

WebPermission コンストラクタ (NetworkAccess, String)

指定した URI に対して指定したアクセス権を持つ WebPermission クラスの新しいインスタンスを初期化します。

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

例外例外
例外の種類条件

ArgumentNullException

uriString が null 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

指定した 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();

// Create a WebPermission::instance.
WebPermission^ myWebPermission1 = gcnew 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();
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

WebPermission コンストラクタ (PermissionState)

すべての要求を渡すか、すべての要求を失敗させる WebPermission クラスの新しいインスタンスを作成します。

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    state As PermissionState _
)
Dim state As PermissionState

Dim instance As New WebPermission(state)
public WebPermission (
    PermissionState state
)
public:
WebPermission (
    PermissionState state
)
public WebPermission (
    PermissionState state
)
public function WebPermission (
    state : PermissionState
)

パラメータ

state

PermissionState 値。

解説解説

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();
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WebPermission クラス
WebPermission メンバ
System.Net 名前空間
Unrestricted

WebPermission コンストラクタ


WebPermission プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ AcceptList このプロパティは、この WebPermission で保持される単一の受け入れ許可の列挙体を返します。返された列挙体に格納される可能性のあるオブジェクトの型は、String および System.Text.RegularExpressions.Regex です。
パブリック プロパティ ConnectList このプロパティは、この WebPermission で保持される単一の接続許可の列挙体を返します。返された列挙体に格納される可能性のあるオブジェクトの型は、String および System.Text.RegularExpressions.Regex です。
参照参照

関連項目

WebPermission クラス
System.Net 名前空間
CodeAccessPermission
PermissionState
NetworkAccess 列挙体

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 つのインスタンス間の論理和集合を返します。
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

WebPermission クラス
System.Net 名前空間
CodeAccessPermission
PermissionState
NetworkAccess 列挙体

WebPermission メンバ

HTTP インターネット リソースへのアクセス権を制御します。

WebPermission データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ AcceptList このプロパティは、この WebPermission で保持される単一の受け入れ許可の列挙体を返します。返された列挙体に格納される可能性のあるオブジェクトの型は、String および System.Text.RegularExpressions.Regex です。
パブリック プロパティ ConnectList このプロパティは、この WebPermission で保持される単一の接続許可の列挙体を返します。返された列挙体に格納される可能性のあるオブジェクトの型は、String および System.Text.RegularExpressions.Regex です。
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド 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 つのインスタンス間の論理和集合を返します。
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

WebPermission クラス
System.Net 名前空間
CodeAccessPermission
PermissionState
NetworkAccess 列挙体



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「WebPermission」の関連用語











WebPermissionのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



WebPermissionのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS