DnsPermissionAttribute クラス
ドメイン ネーム サーバーの情報を要求するためのアクセス許可を指定します。
この型のすべてのメンバの一覧については、DnsPermissionAttribute メンバ を参照してください。
System.Object
System.Attribute
System.Security.Permissions.SecurityAttribute
System.Security.Permissions.CodeAccessSecurityAttribute
System.Net.DnsPermissionAttribute
<AttributeUsage(AttributeTargets.Assembly Or AttributeTargets.Class _
Or AttributeTargets.Struct Or AttributeTargets.Constructor Or _
AttributeTargets.Method)>
<Serializable>
NotInheritable Public Class DnsPermissionAttribute Inherits CodeAccessSecurityAttribute
[C#]
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class
| AttributeTargets.Struct | AttributeTargets.Constructor |
AttributeTargets.Method)]
[Serializable]
public sealed class DnsPermissionAttribute : CodeAccessSecurityAttribute
[C++]
[AttributeUsage(AttributeTargets::Assembly |
AttributeTargets::Class | AttributeTargets::Struct |
AttributeTargets::Constructor | AttributeTargets::Method)]
[Serializable]
public __gc __sealed class DnsPermissionAttribute : public CodeAccessSecurityAttribute
[JScript]
public
AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class |
AttributeTargets.Struct | AttributeTargets.Constructor |
AttributeTargets.Method)
Serializable
class DnsPermissionAttribute extends CodeAccessSecurityAttribute
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
DnsPermissionAttribute によって宣言されたセキュリティ情報は、 DnsPermissionAttribute が適用されるクラスである属性ターゲットのメタデータに格納されます。その後、システムは、実行時にこの情報にアクセスします。コンストラクタに渡される SecurityAction は、許容 DNS (Domain Name System) ターゲットを判断します。
これらのセキュリティ属性は、 宣言セキュリティ にだけ使用されます。 強制セキュリティ に対しては、対応する DnsPermission クラスを使用します。
セキュリティ アクセスは、完全に制限されるか、完全に無制限かのいずれかです。アクセスを許可するには、 Unrestricted プロパティを true に設定し、アクセスを許可しない場合は false に設定します。このプロパティを名前付きパラメータとして設定します。
属性の使用方法については、「 属性を使用したメタデータの拡張 」を参照してください。
使用例
[Visual Basic, C#, C++] DnsPermissionAttribute を使用して、宣言セキュリティをカスタム クラスに適用する例を次に示します。
' Uses the DnsPermissionAttribute to restrict access only to those who have permission.
<DnsPermission(SecurityAction.Demand, Unrestricted := true)> _
Public Class MyClass1
Public Shared Function GetIPAddress() As IPAddress
Dim ipAddress As IPAddress = Dns.Resolve("localhost").AddressList(0)
Return ipAddress
End Function 'GetIPAddress
Public Shared Sub Main()
Try
' Grants Access.
Console.WriteLine(("Access granted" + ControlChars.NewLine + " The local host IP Address is :" + MyClass1.GetIPAddress().ToString()))
' Denies Access.
Catch securityException As SecurityException
Console.WriteLine("Access denied")
Console.WriteLine(securityException.ToString())
End Try
[C#]
//Uses the DnsPermissionAttribute to restrict access only to those who have permission.
[DnsPermission(SecurityAction.Demand, Unrestricted = true)]
public class MyClass{
public static IPAddress GetIPAddress(){
IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0];
return ipAddress;
}
public static void Main(){
try{
//Grants Access.
Console.WriteLine(" Access granted\n The local host IP Address is :" +
MyClass.GetIPAddress().ToString());
}
// Denies Access.
catch(SecurityException securityException){
Console.WriteLine("Access denied");
Console.WriteLine(securityException.ToString());
}
[C++]
//Uses the DnsPermissionAttribute to restrict access only to those who have permission.
[DnsPermission(SecurityAction::Demand, Unrestricted = true)]
public __gc class MyClass{
public:
static IPAddress* GetIPAddress(){
IPAddress* ipAddress = Dns::Resolve(S"localhost")->AddressList[0];
return ipAddress;
}
};
int main(){
try{
//Grants Access.
Console::WriteLine(S" Access granted\n The local host IP Address is :{0}", MyClass::GetIPAddress());
}
// Denies Access.
catch(SecurityException* securityException){
Console::WriteLine(S"Access denied");
Console::WriteLine(securityException->ToString());
}
}
[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 内)
参照
DnsPermissionAttribute メンバ | System.Net 名前空間 | CodeAccessSecurityAttribute