SecurityPermissionAttribute クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ <AttributeUsageAttribute(AttributeTargets.Assembly Or AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Constructor Or AttributeTargets.Method, AllowMultiple:=True, Inherited:=False)> _ Public NotInheritable Class SecurityPermissionAttribute Inherits CodeAccessSecurityAttribute
[SerializableAttribute] [ComVisibleAttribute(true)] [AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false)] public sealed class SecurityPermissionAttribute : CodeAccessSecurityAttribute
[SerializableAttribute] [ComVisibleAttribute(true)] [AttributeUsageAttribute(AttributeTargets::Assembly|AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Constructor|AttributeTargets::Method, AllowMultiple=true, Inherited=false)] public ref class SecurityPermissionAttribute sealed : public CodeAccessSecurityAttribute
/** @attribute SerializableAttribute() */ /** @attribute ComVisibleAttribute(true) */ /** @attribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false) */ public final class SecurityPermissionAttribute extends CodeAccessSecurityAttribute
SerializableAttribute ComVisibleAttribute(true) AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false) public final class SecurityPermissionAttribute extends CodeAccessSecurityAttribute

宣言の許容スコープは、使用する SecurityAction によって異なります。
セキュリティ属性によって宣言されたセキュリティ情報は、属性ターゲットのメタデータに格納され、実行時にシステムによってアクセスされます。セキュリティ属性は宣言セキュリティにだけ使用されます。強制セキュリティの場合は、対応するアクセス許可クラスを使用します。

アサート権限を表す SecurityPermission を要求する正しい方法と、コードを実行するためには少なくともこのアクセス許可が必要であることを次の宣言属性の例に示します。
<Assembly:SecurityPermissionAttribute(SecurityAction.RequestMinimum, _ Assertion := True)> 'In Visual Basic, you must specify that you are using the assembly scope when making a request.
[assembly:SecurityPermissionAttribute(SecurityAction.RequestMinimum, Assertion=true)] //In C#, you must specify that you are using the assembly scope when making a request.
[assembly:SecurityPermissionAttribute(SecurityAction::RequestMinimum,Assertion=true)]; //In C++, you must specify that you are using the assembly scope when making a request.
/** @assembly SecurityPermissionAttribute(SecurityAction.RequestMinimum, Assertion = true) */ // In VJ#, you must specify that you are using the assembly scope // when making a request.
リンク時に呼び出し元コードに SecurityPermission を要求する方法を次の例に示します。通常、メソッドやクラスを不正なコードから保護するための要求がマネージ ライブラリ (DLL) で作成されます。
<SecurityPermissionAttribute(SecurityAction.Demand, _ Unrestricted := True)> Public Class SampleClass
セキュリティ アクセス許可を拒否または要求するために使用される SecurityPermissionAttribute クラスのインスタンスを作成する方法の完全な例については、SecurityPermissionAttribute コンストラクタのトピックを参照してください。

System.Attribute
System.Security.Permissions.SecurityAttribute
System.Security.Permissions.CodeAccessSecurityAttribute
System.Security.Permissions.SecurityPermissionAttribute


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SecurityPermissionAttribute コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)


SecurityPermissionAttribute コンストラクタを使用し、セキュリティ アクセス許可を拒否および要求するために使用される SecurityPermissionAttribute クラスのインスタンスを作成するコード例を次に示します。
' This sample demonstrates the use of the SecurityPermissionAttribute. Imports System Imports System.Security.Permissions Imports System.Security Imports Microsoft.VisualBasic Class [MyClass] Public Shared Sub PermissionDemo() Try DenySecurityPermissions() DenyAllSecurityPermissions() DoNotDenySecurityPermissions() Catch e As Exception Console.WriteLine(e.Message.ToString()) End Try End Sub 'PermissionDemo ' This method demonstrates the use of the SecurityPermissionAttribute to deny individual security permissions. ' Set the Assertion,UnmanagedCode, ControlAppDomain, ControlDomainPolicy, ontrolEvidence, ' ControlPolicy, ControlPrincipal, ControlThread, Execution, Flags, Infrastructure, ' RemotingConfiguration, SerializationFormatter, and SkipVerification properties. <SecurityPermissionAttribute(SecurityAction.Deny, Assertion:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, ControlAppDomain:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, ControlDomainPolicy:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, ControlEvidence:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, ControlPolicy:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, ControlPrincipal:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, ControlThread:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, Execution:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, Flags:=SecurityPermissionFlag.NoFlags), _ SecurityPermissionAttribute(SecurityAction.Deny, Infrastructure:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, RemotingConfiguration:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, SerializationFormatter:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, SkipVerification:=True), _ SecurityPermissionAttribute(SecurityAction.Deny, UnmanagedCode:=True)> _ Public Shared Sub DenySecurityPermissions() Console.WriteLine("Executing DenySecurityPermissions.") Console.WriteLine("Denied all permissions individually.") TestSecurityPermissions() End Sub 'DenySecurityPermissions ' This method demonstrates the use of SecurityPermissionFlag.AllFlags to deny all security permissions. <SecurityPermissionAttribute(SecurityAction.Deny, Flags:=SecurityPermissionFlag.AllFlags)> _ Public Shared Sub DenyAllSecurityPermissions() Console.WriteLine(ControlChars.Lf & "Executing DenyAllSecurityPermissions.") Console.WriteLine("Denied all permissions using SecurityPermissionFlag.AllFlags.") TestSecurityPermissions() End Sub 'DenyAllSecurityPermissions ' This method demonstrates the effect of not denying security permissions. Public Shared Sub DoNotDenySecurityPermissions() Console.WriteLine(ControlChars.Lf & "Executing DoNotDenySecurityPermissions.") Console.WriteLine("No permissions have been denied.") DemandSecurityPermissions() End Sub 'DoNotDenySecurityPermissions Public Shared Sub TestSecurityPermissions() Console.WriteLine(ControlChars.Lf & "Executing TestSecurityPermissions." & ControlChars.Lf) Try Dim sp As New SecurityPermission(SecurityPermissionFlag.Assertion) Console.WriteLine("Demanding SecurityPermissionFlag.Assertion") ' This demand should cause an exception. sp.Demand() ' The TestFailed method is called if an exception is not thrown. TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.Assertion failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlAppDomain) Console.WriteLine("Demanding SecurityPermissionFlag.ControlAppDomain") sp.Demand() TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlAppDomain failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlDomainPolicy) Console.WriteLine("Demanding SecurityPermissionFlag.ControlDomainPolicy") sp.Demand() TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlDomainPolicy failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlEvidence) Console.WriteLine("Demanding SecurityPermissionFlag.ControlEvidence") sp.Demand() TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlEvidence failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlPolicy) Console.WriteLine("Demanding SecurityPermissionFlag.ControlPolicy") sp.Demand() TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlPolicy failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlPrincipal) Console.WriteLine("Demanding SecurityPermissionFlag.ControlPrincipal") sp.Demand() TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlPrincipal failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlThread) Console.WriteLine("Demanding SecurityPermissionFlag.ControlThread") sp.Demand() TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlThread failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.Execution) Console.WriteLine("Demanding SecurityPermissionFlag.Execution") sp.Demand() TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.Execution failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.Infrastructure) Console.WriteLine("Demanding SecurityPermissionFlag.Infrastructure") sp.Demand() TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.Infrastructure failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.RemotingConfiguration) Console.WriteLine("Demanding SecurityPermissionFlag.RemotingConfiguration") sp.Demand() TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.RemotingConfiguration failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.SerializationFormatter) Console.WriteLine("Demanding SecurityPermissionFlag.SerializationFormatter") sp.Demand() TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.SerializationFormatter failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.SkipVerification) Console.WriteLine("Demanding SecurityPermissionFlag.SkipVerification") sp.Demand() TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.SkipVerification failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.UnmanagedCode) Console.WriteLine("Demanding SecurityPermissionFlag.UnmanagedCode") ' This demand should cause an exception. sp.Demand() ' The TestFailed method is called if an exception is not thrown. TestFailed() Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.UnmanagedCode failed: " & e.Message)) End Try End Sub 'TestSecurityPermissions Public Shared Sub TestFailed() Console.WriteLine("In TestFailed method.") Console.WriteLine("Throwing an exception.") Throw New Exception() End Sub 'TestFailed Public Shared Sub DemandSecurityPermissions() Console.WriteLine(ControlChars.Lf & "Executing DemandSecurityPermissions." & ControlChars.Lf) Try Dim sp As New SecurityPermission(SecurityPermissionFlag.Assertion) Console.WriteLine("Demanding SecurityPermissionFlag.Assertion") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.Assertion succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.Assertion failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlAppDomain) Console.WriteLine("Demanding SecurityPermissionFlag.ControlAppDomain") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlAppDomain failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlDomainPolicy) Console.WriteLine("Demanding SecurityPermissionFlag.ControlDomainPolicy") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlDomainPolicy failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlEvidence) Console.WriteLine("Demanding SecurityPermissionFlag.ControlEvidence") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlEvidence failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlPolicy) Console.WriteLine("Demanding SecurityPermissionFlag.ControlPolicy") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlPolicy failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlPrincipal) Console.WriteLine("Demanding SecurityPermissionFlag.ControlPrincipal") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlPrincipal failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.ControlThread) Console.WriteLine("Demanding SecurityPermissionFlag.ControlThread") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.ControlThread failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.Execution) Console.WriteLine("Demanding SecurityPermissionFlag.Execution") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.Execution succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.Execution failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.Infrastructure) Console.WriteLine("Demanding SecurityPermissionFlag.Infrastructure") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.Infrastructure failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.RemotingConfiguration) Console.WriteLine("Demanding SecurityPermissionFlag.RemotingConfiguration") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.RemotingConfiguration failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.SerializationFormatter) Console.WriteLine("Demanding SecurityPermissionFlag.SerializationFormatter") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.SerializationFormatter failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.SkipVerification) Console.WriteLine("Demanding SecurityPermissionFlag.SkipVerification") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.SkipVerification failed: " & e.Message)) End Try Try Dim sp As New SecurityPermission(SecurityPermissionFlag.UnmanagedCode) Console.WriteLine("Demanding SecurityPermissionFlag.UnmanagedCode") sp.Demand() Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode succeeded.") Catch e As Exception Console.WriteLine(("Demand for SecurityPermissionFlag.UnmanagedCode failed: " & e.Message)) End Try End Sub 'DemandSecurityPermissions Overloads Shared Sub Main(ByVal args() As String) PermissionDemo() End Sub 'Main End Class '[MyClass]
// This sample demonstrates the use of the SecurityPermissionAttribute. using System; using System.Security.Permissions; using System.Security; class MyClass { public static void PermissionDemo() { try { DenySecurityPermissions(); DenyAllSecurityPermissions(); DoNotDenySecurityPermissions(); } catch (Exception e) { Console.WriteLine(e.Message.ToString()); } } // This method demonstrates the use of the SecurityPermissionAttribute to deny individual security permissions. // Set the Assertion property. [SecurityPermissionAttribute(SecurityAction.Deny, Assertion = true)] // Set the ControlAppDomain property. [SecurityPermissionAttribute(SecurityAction.Deny, ControlAppDomain = true)] // Set the ControlDomainPolicy property. [SecurityPermissionAttribute(SecurityAction.Deny, ControlDomainPolicy = true)] // Set the ControlEvidence property. [SecurityPermissionAttribute(SecurityAction.Deny, ControlEvidence = true)] // Set the ControlPolicy property. [SecurityPermissionAttribute(SecurityAction.Deny, ControlPolicy = true)] // Set the ControlPrincipal property. [SecurityPermissionAttribute(SecurityAction.Deny, ControlPrincipal = true)] // Set the ControlThread property. [SecurityPermissionAttribute(SecurityAction.Deny, ControlThread = true)] // Set the Execution property. [SecurityPermissionAttribute(SecurityAction.Deny, Execution = true)] // Set the Flags property. [SecurityPermissionAttribute(SecurityAction.Deny, Flags = SecurityPermissionFlag.NoFlags)] // Set the Infrastructure property. [SecurityPermissionAttribute(SecurityAction.Deny, Infrastructure = true)] // Set the RemotingConfiguration property. [SecurityPermissionAttribute(SecurityAction.Deny, RemotingConfiguration = true)] // Set the SerializationFormatter property. [SecurityPermissionAttribute(SecurityAction.Deny, SerializationFormatter = true)] // Set the SkipVerification property. [SecurityPermissionAttribute(SecurityAction.Deny, SkipVerification = true)] // Set the UnmanagedCode property. [SecurityPermissionAttribute(SecurityAction.Deny, UnmanagedCode = true)] public static void DenySecurityPermissions() { Console.WriteLine("Executing DenySecurityPermissions."); Console.WriteLine("Denied all permissions individually."); TestSecurityPermissions(); } // This method demonstrates the use of SecurityPermissionFlag.AllFlags to deny all security permissions. [SecurityPermissionAttribute(SecurityAction.Deny, Flags = SecurityPermissionFlag.AllFlags)] public static void DenyAllSecurityPermissions() { Console.WriteLine("\nExecuting DenyAllSecurityPermissions."); Console.WriteLine("Denied all permissions using SecurityPermissionFlag.AllFlags."); TestSecurityPermissions(); } // This method demonstrates the effect of not denying security permissions. public static void DoNotDenySecurityPermissions() { Console.WriteLine("\nExecuting DoNotDenySecurityPermissions."); Console.WriteLine("No permissions have been denied."); DemandSecurityPermissions(); } public static void TestSecurityPermissions() { Console.WriteLine("\nExecuting TestSecurityPermissions.\n"); try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.Assertion); Console.WriteLine("Demanding SecurityPermissionFlag.Assertion"); // This demand should cause an exception. sp.Demand(); // The TestFailed method is called if an exception is not thrown. TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.Assertion failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlAppDomain); Console.WriteLine("Demanding SecurityPermissionFlag.ControlAppDomain"); sp.Demand(); TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlDomainPolicy); Console.WriteLine("Demanding SecurityPermissionFlag.ControlDomainPolicy"); sp.Demand(); TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlEvidence); Console.WriteLine("Demanding SecurityPermissionFlag.ControlEvidence"); sp.Demand(); TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlPolicy); Console.WriteLine("Demanding SecurityPermissionFlag.ControlPolicy"); sp.Demand(); TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlPrincipal); Console.WriteLine("Demanding SecurityPermissionFlag.ControlPrincipal"); sp.Demand(); TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlThread); Console.WriteLine("Demanding SecurityPermissionFlag.ControlThread"); sp.Demand(); TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.Execution); Console.WriteLine("Demanding SecurityPermissionFlag.Execution"); sp.Demand(); TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.Execution failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.Infrastructure); Console.WriteLine("Demanding SecurityPermissionFlag.Infrastructure"); sp.Demand(); TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.RemotingConfiguration); Console.WriteLine("Demanding SecurityPermissionFlag.RemotingConfiguration"); sp.Demand(); TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.SerializationFormatter); Console.WriteLine("Demanding SecurityPermissionFlag.SerializationFormatter"); sp.Demand(); TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.SkipVerification); Console.WriteLine("Demanding SecurityPermissionFlag.SkipVerification"); sp.Demand(); TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode); Console.WriteLine("Demanding SecurityPermissionFlag.UnmanagedCode"); // This demand should cause an exception. sp.Demand(); // The TestFailed method is called if an exception is not thrown. TestFailed(); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode failed: " + e.Message); } } public static void TestFailed() { Console.WriteLine("In TestFailed method."); Console.WriteLine("Throwing an exception."); throw new Exception(); } public static void DemandSecurityPermissions() { Console.WriteLine("\nExecuting DemandSecurityPermissions.\n"); try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.Assertion); Console.WriteLine("Demanding SecurityPermissionFlag.Assertion"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.Assertion succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.Assertion failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlAppDomain); Console.WriteLine("Demanding SecurityPermissionFlag.ControlAppDomain"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlAppDomain failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlDomainPolicy); Console.WriteLine("Demanding SecurityPermissionFlag.ControlDomainPolicy"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlDomainPolicy failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlEvidence); Console.WriteLine("Demanding SecurityPermissionFlag.ControlEvidence"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlEvidence failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlPolicy); Console.WriteLine("Demanding SecurityPermissionFlag.ControlPolicy"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlPolicy failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlPrincipal); Console.WriteLine("Demanding SecurityPermissionFlag.ControlPrincipal"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlPrincipal failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlThread); Console.WriteLine("Demanding SecurityPermissionFlag.ControlThread"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.ControlThread failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.Execution); Console.WriteLine("Demanding SecurityPermissionFlag.Execution"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.Execution succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.Execution failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.Infrastructure); Console.WriteLine("Demanding SecurityPermissionFlag.Infrastructure"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.Infrastructure failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.RemotingConfiguration); Console.WriteLine("Demanding SecurityPermissionFlag.RemotingConfiguration"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.RemotingConfiguration failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.SerializationFormatter); Console.WriteLine("Demanding SecurityPermissionFlag.SerializationFormatter"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.SerializationFormatter failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.SkipVerification); Console.WriteLine("Demanding SecurityPermissionFlag.SkipVerification"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.SkipVerification failed: " + e.Message); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode); Console.WriteLine("Demanding SecurityPermissionFlag.UnmanagedCode"); sp.Demand(); Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode succeeded."); } catch (Exception e) { Console.WriteLine("Demand for SecurityPermissionFlag.UnmanagedCode failed: " + e.Message); } } static void Main(string[] args) { PermissionDemo(); } }
// This sample demonstrates the use of the SecurityPermissionAttribute. using namespace System; using namespace System::Security::Permissions; using namespace System::Security; class MyClass { public: static void PermissionDemo() { try { DenySecurityPermissions(); DenyAllSecurityPermissions(); DoNotDenySecurityPermissions(); } catch ( Exception^ e ) { Console::WriteLine( e->Message ); } } // This method demonstrates the use of the SecurityPermissionAttribute to deny individual security permissions. // Set the Assertion property. [SecurityPermissionAttribute(SecurityAction::Deny,Assertion=true)] // Set the ControlAppDomain property. [SecurityPermissionAttribute(SecurityAction::Deny,ControlAppDomain=true)] // Set the ControlDomainPolicy property. [SecurityPermissionAttribute(SecurityAction::Deny,ControlDomainPolicy=true)] [SecurityPermissionAttribute(SecurityAction::Deny,ControlEvidence=true)] // Set the ControlEvidence property. [SecurityPermissionAttribute(SecurityAction::Deny,ControlPolicy=true)] // Set the ControlPolicy property. [SecurityPermissionAttribute(SecurityAction::Deny,ControlPrincipal=true)] // Set the ControlPrincipal property. // Set the ControlThread property. [SecurityPermissionAttribute(SecurityAction::Deny,ControlThread=true)] // Set the Execution property. [SecurityPermissionAttribute(SecurityAction::Deny,Execution=true)] // Set the Flags property. [SecurityPermissionAttribute(SecurityAction::Deny,Flags=SecurityPermissionFlag::NoFlags)] // Set the Infrastructure property. [SecurityPermissionAttribute(SecurityAction::Deny,Infrastructure=true)] // Set the RemotingConfiguration property. [SecurityPermissionAttribute(SecurityAction::Deny,RemotingConfiguration=true)] // Set the SerializationFormatter property. [SecurityPermissionAttribute(SecurityAction::Deny,SerializationFormatter=true)] // Set the SkipVerification property. [SecurityPermissionAttribute(SecurityAction::Deny,SkipVerification=true)] // Set the UnmanagedCode property. [SecurityPermissionAttribute(SecurityAction::Deny,UnmanagedCode=true)] static void DenySecurityPermissions() { Console::WriteLine( "Executing DenySecurityPermissions." ); Console::WriteLine( "Denied all permissions individually." ); TestSecurityPermissions(); } // This method demonstrates the use of SecurityPermissionFlag::AllFlags to deny all security permissions. [SecurityPermissionAttribute(SecurityAction::Deny,Flags=SecurityPermissionFlag::AllFlags)] static void DenyAllSecurityPermissions() { Console::WriteLine( "\nExecuting DenyAllSecurityPermissions." ); Console::WriteLine( "Denied all permissions using SecurityPermissionFlag::AllFlags." ); TestSecurityPermissions(); } // This method demonstrates the effect of not denying security permissions. static void DoNotDenySecurityPermissions() { Console::WriteLine( "\nExecuting DoNotDenySecurityPermissions." ); Console::WriteLine( "No permissions have been denied." ); DemandSecurityPermissions(); } static void TestSecurityPermissions() { Console::WriteLine( "\nExecuting TestSecurityPermissions.\n" ); try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Assertion ); Console::WriteLine( "Demanding SecurityPermissionFlag::Assertion" ); // This demand should cause an exception. sp->Demand(); // The TestFailed method is called if an exception is not thrown. TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::Assertion failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlAppDomain ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlAppDomain" ); sp->Demand(); TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlAppDomain failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlDomainPolicy ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlDomainPolicy" ); sp->Demand(); TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlDomainPolicy failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlEvidence ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlEvidence" ); sp->Demand(); TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlEvidence failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlPolicy ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlPolicy" ); sp->Demand(); TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPolicy failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlPrincipal ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlPrincipal" ); sp->Demand(); TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPrincipal failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlThread ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlThread" ); sp->Demand(); TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlThread failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Execution ); Console::WriteLine( "Demanding SecurityPermissionFlag::Execution" ); sp->Demand(); TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::Execution failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Infrastructure ); Console::WriteLine( "Demanding SecurityPermissionFlag::Infrastructure" ); sp->Demand(); TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::Infrastructure failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::RemotingConfiguration ); Console::WriteLine( "Demanding SecurityPermissionFlag::RemotingConfiguration" ); sp->Demand(); TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::RemotingConfiguration failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::SerializationFormatter ); Console::WriteLine( "Demanding SecurityPermissionFlag::SerializationFormatter" ); sp->Demand(); TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::SerializationFormatter failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::SkipVerification ); Console::WriteLine( "Demanding SecurityPermissionFlag::SkipVerification" ); sp->Demand(); TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::SkipVerification failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::UnmanagedCode ); Console::WriteLine( "Demanding SecurityPermissionFlag::UnmanagedCode" ); // This demand should cause an exception. sp->Demand(); // The TestFailed method is called if an exception is not thrown. TestFailed(); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::UnmanagedCode failed: {0}", e->Message ); } } static void TestFailed() { Console::WriteLine( "In TestFailed method." ); Console::WriteLine( "Throwing an exception." ); throw gcnew Exception; } static void DemandSecurityPermissions() { Console::WriteLine( "\nExecuting DemandSecurityPermissions.\n" ); try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Assertion ); Console::WriteLine( "Demanding SecurityPermissionFlag::Assertion" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::Assertion succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::Assertion failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlAppDomain ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlAppDomain" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::ControlAppDomain succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlAppDomain failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlDomainPolicy ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlDomainPolicy" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::ControlDomainPolicy succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlDomainPolicy failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlEvidence ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlEvidence" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::ControlEvidence succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlEvidence failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlPolicy ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlPolicy" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPolicy succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPolicy failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlPrincipal ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlPrincipal" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPrincipal succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlPrincipal failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::ControlThread ); Console::WriteLine( "Demanding SecurityPermissionFlag::ControlThread" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::ControlThread succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::ControlThread failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Execution ); Console::WriteLine( "Demanding SecurityPermissionFlag::Execution" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::Execution succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::Execution failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::Infrastructure ); Console::WriteLine( "Demanding SecurityPermissionFlag::Infrastructure" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::Infrastructure succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::Infrastructure failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::RemotingConfiguration ); Console::WriteLine( "Demanding SecurityPermissionFlag::RemotingConfiguration" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::RemotingConfiguration succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::RemotingConfiguration failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::SerializationFormatter ); Console::WriteLine( "Demanding SecurityPermissionFlag::SerializationFormatter" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::SerializationFormatter succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::SerializationFormatter failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::SkipVerification ); Console::WriteLine( "Demanding SecurityPermissionFlag::SkipVerification" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::SkipVerification succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::SkipVerification failed: {0}", e->Message ); } try { SecurityPermission^ sp = gcnew SecurityPermission( SecurityPermissionFlag::UnmanagedCode ); Console::WriteLine( "Demanding SecurityPermissionFlag::UnmanagedCode" ); sp->Demand(); Console::WriteLine( "Demand for SecurityPermissionFlag::UnmanagedCode succeeded." ); } catch ( Exception^ e ) { Console::WriteLine( "Demand for SecurityPermissionFlag::UnmanagedCode failed: {0}", e->Message ); } } }; int main() { MyClass::PermissionDemo(); }
// This sample demonstrates the use of the SecurityPermissionAttribute. import System.*; import System.Security.Permissions.*; import System.Security.*; class MyClass { public static void PermissionDemo() { try { DenySecurityPermissions(); DenyAllSecurityPermissions(); DoNotDenySecurityPermissions(); } catch (System.Exception e) { Console.WriteLine(e.get_Message().ToString()); } } //PermissionDemo // This method demonstrates the use of the SecurityPermissionAttribute // to deny individual security permissions. // Set the Assertion property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, Assertion = true) */ // Set the ControlAppDomain property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, ControlAppDomain = true) */ // Set the ControlDomainPolicy property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, ControlDomainPolicy = true) */ // Set the ControlEvidence property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, ControlEvidence = true) */ // Set the ControlPolicy property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, ControlPolicy = true) */ // Set the ControlPrincipal property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, ControlPrincipal = true) */ // Set the ControlThread property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, ControlThread = true) */ // Set the Execution property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, Execution = true) */ // Set the Flags property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, Flags = SecurityPermissionFlag.NoFlags) */ // Set the Infrastructure property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, Infrastructure = true) */ // Set the RemotingConfiguration property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, RemotingConfiguration = true) */ // Set the SerializationFormatter property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, SerializationFormatter = true) */ // Set the SkipVerification property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, SkipVerification = true) */ // Set the UnmanagedCode property. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, UnmanagedCode = true) */ public static void DenySecurityPermissions() { Console.WriteLine("Executing DenySecurityPermissions."); Console.WriteLine("Denied all permissions individually."); TestSecurityPermissions(); } //DenySecurityPermissions // This method demonstrates the use of SecurityPermissionFlag.AllFlags // to deny all security permissions. /** @attribute SecurityPermissionAttribute(SecurityAction.Deny, Flags = SecurityPermissionFlag.AllFlags) */ public static void DenyAllSecurityPermissions() { Console.WriteLine("\nExecuting DenyAllSecurityPermissions."); Console.WriteLine("Denied all permissions using " + "SecurityPermissionFlag.AllFlags."); TestSecurityPermissions(); } //DenyAllSecurityPermissions // This method demonstrates the effect of not denying security permissions. public static void DoNotDenySecurityPermissions() { Console.WriteLine("\nExecuting DoNotDenySecurityPermissions."); Console.WriteLine("No permissions have been denied."); DemandSecurityPermissions(); } //DoNotDenySecurityPermissions public static void TestSecurityPermissions() { Console.WriteLine("\nExecuting TestSecurityPermissions.\n"); try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.Assertion); Console.WriteLine("Demanding SecurityPermissionFlag.Assertion"); // This demand should cause an exception. sp.Demand(); // The TestFailed method is called if an exception is not thrown. TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.Assertion failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlAppDomain); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlAppDomain"); sp.Demand(); TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlAppDomain failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.ControlDomainPolicy); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlDomainPolicy"); sp.Demand(); TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlDomainPolicy failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.ControlEvidence); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlEvidence"); sp.Demand(); TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlEvidence failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.ControlPolicy); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlPolicy"); sp.Demand(); TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlPolicy failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.ControlPrincipal); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlPrincipal"); sp.Demand(); TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlPrincipal failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.ControlThread); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlThread"); sp.Demand(); TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlThread failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.Execution); Console.WriteLine("Demanding SecurityPermissionFlag.Execution"); sp.Demand(); TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.Execution failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission(SecurityPermissionFlag.Infrastructure); Console.WriteLine("Demanding " + "SecurityPermissionFlag.Infrastructure"); sp.Demand(); TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.Infrastructure failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.RemotingConfiguration); Console.WriteLine("Demanding " + "SecurityPermissionFlag.RemotingConfiguration"); sp.Demand(); TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.RemotingConfiguration failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.SerializationFormatter); Console.WriteLine("Demanding " + "SecurityPermissionFlag.SerializationFormatter"); sp.Demand(); TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.SerializationFormatter failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.SkipVerification); Console.WriteLine("Demanding " + "SecurityPermissionFlag.SkipVerification"); sp.Demand(); TestFailed(); } catch (System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.SkipVerification failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.UnmanagedCode); Console.WriteLine("Demanding " + "SecurityPermissionFlag.UnmanagedCode"); // This demand should cause an exception. sp.Demand(); // The TestFailed method is called if an exception is not thrown. TestFailed(); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.UnmanagedCode failed: " + e.get_Message())); } } //TestSecurityPermissions public static void TestFailed() throws Exception { Console.WriteLine("In TestFailed method."); Console.WriteLine("Throwing an exception."); throw new Exception() ; } //TestFailed public static void DemandSecurityPermissions() { Console.WriteLine("\nExecuting DemandSecurityPermissions.\n"); try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.Assertion); Console.WriteLine("Demanding SecurityPermissionFlag.Assertion"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.Assertion succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.Assertion failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.ControlAppDomain); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlAppDomain"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.ControlAppDomain succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlAppDomain failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.ControlDomainPolicy); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlDomainPolicy"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.ControlDomainPolicy succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlDomainPolicy failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.ControlEvidence); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlEvidence"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.ControlEvidence succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlEvidence failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.ControlPolicy); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlPolicy"); sp.Demand(); Console.WriteLine("Demand " + "for SecurityPermissionFlag.ControlPolicy succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlPolicy failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.ControlPrincipal); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlPrincipal"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.ControlPrincipal succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlPrincipal failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.ControlThread); Console.WriteLine("Demanding " + "SecurityPermissionFlag.ControlThread"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.ControlThread succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.ControlThread failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.Execution); Console.WriteLine("Demanding SecurityPermissionFlag.Execution"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.Execution succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.Execution failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.Infrastructure); Console.WriteLine("Demanding " + "SecurityPermissionFlag.Infrastructure"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.Infrastructure succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.Infrastructure failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.RemotingConfiguration); Console.WriteLine("Demanding " + "SecurityPermissionFlag.RemotingConfiguration"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.RemotingConfiguration succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.RemotingConfiguration failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.SerializationFormatter); Console.WriteLine("Demanding " + "SecurityPermissionFlag.SerializationFormatter"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.SerializationFormatter succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.SerializationFormatter failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.SkipVerification); Console.WriteLine("Demanding " + "SecurityPermissionFlag.SkipVerification"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.SkipVerification succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.SkipVerification failed: " + e.get_Message())); } try { SecurityPermission sp = new SecurityPermission( SecurityPermissionFlag.UnmanagedCode); Console.WriteLine("Demanding " + "SecurityPermissionFlag.UnmanagedCode"); sp.Demand(); Console.WriteLine("Demand for " + "SecurityPermissionFlag.UnmanagedCode succeeded."); } catch(System.Exception e) { Console.WriteLine(("Demand for " + "SecurityPermissionFlag.UnmanagedCode failed: " + e.get_Message())); } } //DemandSecurityPermissions public static void main(String[] args) { PermissionDemo(); } //main } //MyClass

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SecurityPermissionAttribute プロパティ


SecurityPermissionAttribute メソッド

名前 | 説明 | |
---|---|---|
![]() | CreatePermission | オーバーライドされます。 新しい SecurityPermission を作成して返します。 |
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 ( Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 ( Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 ( Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 ( Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 ( Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 ( Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

SecurityPermissionAttribute メンバ
宣言セキュリティを使用して、SecurityPermission のセキュリティ アクションをコードに適用できるようにします。このクラスは継承できません。
SecurityPermissionAttribute データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | SecurityPermissionAttribute | SecurityAction を指定して、SecurityPermissionAttribute クラスの新しいインスタンスを初期化します。 |


名前 | 説明 | |
---|---|---|
![]() | CreatePermission | オーバーライドされます。 新しい SecurityPermission を作成して返します。 |
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 (Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 (Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 (Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 (Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 (Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

Weblioに収録されているすべての辞書からSecurityPermissionAttributeを検索する場合は、下記のリンクをクリックしてください。

- SecurityPermissionAttributeのページへのリンク