次の方法で共有


WebPermissionAttribute クラス

インターネット リソースへのアクセス許可を指定します。このクラスは継承できません。

この型のすべてのメンバの一覧については、WebPermissionAttribute メンバ を参照してください。

System.Object
   System.Attribute
      System.Security.Permissions.SecurityAttribute
         System.Security.Permissions.CodeAccessSecurityAttribute
            System.Net.WebPermissionAttribute

<AttributeUsage(AttributeTargets.Assembly Or AttributeTargets.Class _
   Or AttributeTargets.Struct Or AttributeTargets.Constructor Or _
   AttributeTargets.Method)>
<Serializable>
NotInheritable Public Class WebPermissionAttribute   Inherits CodeAccessSecurityAttribute
[C#]
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class
   | AttributeTargets.Struct | AttributeTargets.Constructor |
   AttributeTargets.Method)]
[Serializable]
public sealed class WebPermissionAttribute :   CodeAccessSecurityAttribute
[C++]
[AttributeUsage(AttributeTargets::Assembly |
   AttributeTargets::Class | AttributeTargets::Struct |
   AttributeTargets::Constructor | AttributeTargets::Method)]
[Serializable]
public __gc __sealed class WebPermissionAttribute : public   CodeAccessSecurityAttribute
[JScript]
public
   AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class |
   AttributeTargets.Struct | AttributeTargets.Constructor |
   AttributeTargets.Method)
 Serializable
class WebPermissionAttribute extends   CodeAccessSecurityAttribute

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

WebPermissionAttribute を使用すると、どの URI 文字列と正規表現文字列をクラスで使用できるかを宣言によって指定できます。

WebPermissionAttribute で指定されたセキュリティ情報は、 WebPermissionAttribute が適用されるクラスである属性ターゲットのメタデータに格納されます。その後、システムは、実行時にこの情報にアクセスします。コンストラクタに渡される System.Security.Permissions.SecurityAction は、許容 WebPermissionAttribute ターゲットを判断します。システムは、 CreatePermission メソッドで返される WebPermission を使用して、属性ターゲットのセキュリティ情報をメタデータに格納されるシリアル化できる形式に変換します。

メモ    WebPermissionAttribute は、 宣言セキュリティ でだけ使用されます。 強制セキュリティ に対しては、対応する WebPermission を使用します。

使用例

[Visual Basic, C#, C++] WebPermissionAttribute をメソッドに適用する方法を次の例に示します。

 

    ' Deny access to a specific resource by setting the ConnectPattern property. 
    <WebPermission(SecurityAction.Deny, ConnectPattern := "http://www\.contoso\.com/.*")> Public Sub Connect()
    
    ' Create a Connection.     
    Dim myWebRequest As HttpWebRequest = CType(WebRequest.Create("https://www.contoso.com"), HttpWebRequest)
    Console.WriteLine("This line should never be printed")
       

[C#] 

    // Deny access to a specific resource by setting the ConnectPattern property. 
   [WebPermission(SecurityAction.Deny, ConnectPattern=@"http://www\.contoso\.com/")]

public void Connect() 
     {
        // Create a Connection.  
        HttpWebRequest myWebRequest = (HttpWebRequest)WebRequest.Create("https://www.contoso.com");
        Console.WriteLine("This line should never be printed");
     }


[C++] 
// Deny access to a specific resource by setting the ConnectPattern property.
[method:WebPermission(SecurityAction::Deny, ConnectPattern="https://www.contoso.com/")]
void Connect() {
   // Create a Connection.
   HttpWebRequest* myWebRequest =
      dynamic_cast<HttpWebRequest*>(WebRequest::Create(S"https://www.contoso.com"));
   Console::WriteLine(S"This line should never be printed");
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Net

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System (System.dll 内)

参照

WebPermissionAttribute メンバ | System.Net 名前空間