SecurityException 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在偵測到安全性錯誤時發生的例外狀況。
public ref class SecurityException : Exception
public ref class SecurityException : SystemException
public class SecurityException : Exception
public class SecurityException : SystemException
[System.Serializable]
public class SecurityException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class SecurityException : SystemException
type SecurityException = class
inherit Exception
type SecurityException = class
inherit SystemException
[<System.Serializable>]
type SecurityException = class
inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SecurityException = class
inherit SystemException
Public Class SecurityException
Inherits Exception
Public Class SecurityException
Inherits SystemException
- 繼承
- 繼承
- 屬性
備註
SecurityException當呼叫端沒有存取資源所需的許可權時,就會擲回例外狀況。 下列範例會具現化 PermissionSet 物件,其中包含 UIPermission 物件,以允許存取 UI 物件和剪貼簿,以及 RegistryPermission 防止登錄存取的物件。 方法的呼叫 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 會使用 HRESULT COR_E_SECURITY,其值為 0x8013150A。
如需 類別實例 SecurityException 的初始屬性值清單,請參閱特定 SecurityException 建構函式。
建構函式
SecurityException() |
使用預設屬性,初始化 SecurityException 類別的新執行個體。 |
SecurityException(SerializationInfo, StreamingContext) |
使用序列化資料,初始化 SecurityException 類別的新執行個體。 |
SecurityException(String) |
使用指定的錯誤訊息,初始化 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) |
使用指定的錯誤訊息以及造成例外狀況擲回的權限類型,初始化 SecurityException 類別的新執行個體。 |
SecurityException(String, Type, 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() |
在衍生類別中覆寫時,傳回一或多個後續的例外狀況的根本原因 Exception。 (繼承來源 Exception) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetObjectData(SerializationInfo, StreamingContext) |
使用 SecurityException 的相關資訊來設定 SerializationInfo。 |
GetObjectData(SerializationInfo, StreamingContext) |
在衍生類別中覆寫時,使用例外狀況的資訊設定 SerializationInfo。 (繼承來源 Exception) |
GetType() |
取得目前執行個體的執行階段類型。 (繼承來源 Exception) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回目前 SecurityException 的表示。 |
事件
SerializeObjectState |
已過時。
當例外狀況序列化,以建立包含例外狀況相關序列化資料的例外狀況狀態物件時,就會發生此事件。 (繼承來源 Exception) |