インターネット リソースへのアクセス許可を指定します。このクラスは継承できません。
この型のすべてのメンバの一覧については、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 内)