SecurityException クラス

定義

セキュリティ エラーが検出されたときにスローされる例外。

public ref class SecurityException : Exception
public ref class SecurityException : SystemException
public class SecurityException : Exception
[System.Serializable]
public class SecurityException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SecurityException : SystemException
public class SecurityException : SystemException
type SecurityException = class
    inherit Exception
[<System.Serializable>]
type SecurityException = class
    inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SecurityException = class
    inherit SystemException
type SecurityException = class
    inherit SystemException
Public Class SecurityException
Inherits Exception
Public Class SecurityException
Inherits SystemException
継承
SecurityException
継承
SecurityException
属性

注釈

SecurityException例外は、呼び出し元がリソースへのアクセスに必要なアクセス許可を持っていない場合にスローされます。 次の例では、UI オブジェクトとクリップボードへのアクセスを許可するUIPermission オブジェクトと、レジストリ アクセスを防ぐためのRegistryPermission オブジェクトを含むPermissionSet オブジェクトをインスタンス化します。 PermissionSet.PermitOnly メソッドの呼び出しは、呼び出し元に割り当てられているアクセス許可に関係なく、これらのアクセス許可が適用されることを意味します。 その結果、レジストリ キーを作成しようとすると、 SecurityExceptionがスローされます。

using Microsoft.Win32;
using System;
using System.Security;
using System.Security.Permissions;

public class Example
{
   public static void Main()
   {
      PermissionSet perms = new PermissionSet(null);
      perms.AddPermission(new UIPermission(PermissionState.Unrestricted));
      perms.AddPermission(new RegistryPermission(PermissionState.None));
      perms.PermitOnly();
      
      try {
          RegistryKey key = Registry.CurrentUser.CreateSubKey("MyCompany\\Applications");
          Console.WriteLine("Registry key: {0}", key.Name);
      }
      catch (SecurityException e) {
         Console.WriteLine("Security Exception:\n\n{0}", e.Message);      
      }
   }
}
// The example displays the following output:
//    Security Exception:
//    
//    Request for the permission of type 'System.Security.Permissions.RegistryPermission, 
//    mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
Imports Microsoft.Win32
Imports System.Security
Imports System.Security.Permissions

Module Example
   Public Sub Main()
      Dim perms As New PermissionSet(CType(Nothing, PermissionSet))
      perms.AddPermission(New UIPermission(PermissionState.Unrestricted))
      perms.AddPermission(New RegistryPermission(PermissionState.None))
      perms.PermitOnly()
      
      Try 
          Dim key As RegistryKey = Registry.CurrentUser.CreateSubKey("MyCompany\\Applications")
          Console.WriteLine("Registry key: {0}", key.Name)
      Catch e As SecurityException
         Console.WriteLine("Security Exception:\n\n{0}", e.Message)      
      End Try
   End Sub
End Module
' The example displays the following output:
'    Security Exception:
'    
'    Request for the permission of type 'System.Security.Permissions.RegistryPermission, 
'    mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

SecurityException は、値が0x8013150Aを持つ HRESULT COR_E_SECURITYを使用します。

SecurityException クラスのインスタンスの初期プロパティ値の一覧については、特定のSecurityExceptionコンストラクターを参照してください。

コンストラクター

名前 説明
SecurityException()

既定のプロパティを使用して、 SecurityException クラスの新しいインスタンスを初期化します。

SecurityException(SerializationInfo, StreamingContext)

シリアル化されたデータを使用して、 SecurityException クラスの新しいインスタンスを初期化します。

SecurityException(String, AssemblyName, PermissionSet, PermissionSet, MethodInfo, SecurityAction, Object, IPermission, Evidence)

許可セットが不十分な場合に発生する例外に対して、 SecurityException クラスの新しいインスタンスを初期化します。

SecurityException(String, Exception)

指定したエラー メッセージと、この例外の原因である内部例外への参照を使用して、 SecurityException クラスの新しいインスタンスを初期化します。

SecurityException(String, Object, Object, MethodInfo, Object, IPermission)

スタックの Deny によって発生する例外に対して、 SecurityException クラスの新しいインスタンスを初期化します。

SecurityException(String, Type, String)

指定したエラー メッセージ、例外がスローされた原因となったアクセス許可の種類、およびアクセス許可の状態を使用して、 SecurityException クラスの新しいインスタンスを初期化します。

SecurityException(String, Type)

指定したエラー メッセージと、例外がスローされる原因となったアクセス許可の種類を使用して、 SecurityException クラスの新しいインスタンスを初期化します。

SecurityException(String)

指定したエラー メッセージを使用して、 SecurityException クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
Action

例外の原因となったセキュリティ アクションを取得または設定します。

Data

例外に関する追加のユーザー定義情報を提供するキーと値のペアのコレクションを取得します。

(継承元 Exception)
Demanded

要求されたセキュリティ アクセス許可、アクセス許可セット、または失敗したアクセス許可セット コレクションを取得または設定します。

DenySetInstance

要求が失敗する原因となった、拒否されたセキュリティ アクセス許可、アクセス許可セット、またはアクセス許可セット コレクションを取得または設定します。

FailedAssemblyInfo

失敗したアセンブリに関する情報を取得または設定します。

FirstPermissionThatFailed

要求に失敗したアクセス許可セットまたはアクセス許可セット コレクションの最初のアクセス許可を取得または設定します。

GrantedSet

SecurityExceptionの原因となったアセンブリの許可されたアクセス許可セットを取得または設定します。

HelpLink

この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。

(継承元 Exception)
HResult

特定の例外に割り当てられるコード化された数値である HRESULT を取得または設定します。

(継承元 Exception)
InnerException

現在の例外の原因となった Exception インスタンスを取得します。

(継承元 Exception)
Message

現在の例外を説明するメッセージを取得します。

(継承元 Exception)
Method

例外に関連付けられているメソッドに関する情報を取得または設定します。

PermissionState

例外をスローしたアクセス許可の状態を取得または設定します。

PermissionType

失敗したアクセス許可の種類を取得または設定します。

PermitOnlySetInstance

セキュリティ チェックが失敗する原因となった許可のみのスタック フレームの一部であるアクセス許可、アクセス許可セット、またはアクセス許可セット コレクションを取得または設定します。

RefusedSet

SecurityExceptionの原因となったアセンブリの拒否されたアクセス許可セットを取得または設定します。

Source

エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。

(継承元 Exception)
StackTrace

呼び出し履歴のイミディエイト フレームの文字列表現を取得します。

(継承元 Exception)
TargetSite

現在の例外をスローするメソッドを取得します。

(継承元 Exception)
Url

例外の原因となったアセンブリの URL を取得または設定します。

Zone

例外の原因となったアセンブリのゾーンを取得または設定します。

メソッド

名前 説明
Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetBaseException()

派生クラスでオーバーライドされた場合、1 つ以上の後続の例外の根本原因である Exception を返します。

(継承元 Exception)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetObjectData(SerializationInfo, StreamingContext)

SecurityExceptionに関する情報を含むSerializationInfoを設定します。

GetType()

現在のインスタンスのランタイム型を取得します。

(継承元 Exception)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()

現在の SecurityExceptionの表現を返します。

イベント

名前 説明
SerializeObjectState

例外に関するシリアル化されたデータを含む例外状態オブジェクトを作成するために例外がシリアル化されるときに発生します。

(継承元 Exception)

適用対象

こちらもご覧ください