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使用しますAcceptNetworkAccess パラメータとして渡す場合URIAcceptList追加されます。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

uriStringnull 参照 (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 列挙


このページでは「.NET Framework クラス ライブラリ リファレンス」からWebPermissionを検索した結果を表示しています。
Weblioに収録されているすべての辞書からWebPermissionを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からWebPermission を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「WebPermission」の関連用語











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

   

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



WebPermissionのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS