SecurityException Класс

Определение

Исключение, которое возникает при обнаружении ошибки безопасности.

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
Наследование
SecurityException
Атрибуты

Комментарии

Исключение SecurityException возникает, если вызывающий объект не имеет разрешений, необходимых для доступа к ресурсу. В следующем примере создается PermissionSet экземпляр объекта, включающего UIPermission объект, позволяющий получить доступ к объектам пользовательского интерфейса и буферу обмена и 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 использует COR_E_SECURITY HRESULT, который имеет значение 0x8013150A.

Список начальных значений свойств для экземпляра 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)

Инициализирует новый экземпляр 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()

При переопределении в производном классе возвращает Exception первопричину одного или нескольких последующих исключений.

(Унаследовано от Exception)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetObjectData(SerializationInfo, StreamingContext)
Устаревшие..

SerializationInfo Задает сведения о объекте SecurityException.

GetType()

Возвращает тип среды выполнения текущего экземпляра.

(Унаследовано от Exception)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает представление текущего SecurityException.

События

Имя Описание
SerializeObjectState
Устаревшие..

Происходит при сериализации исключения для создания объекта состояния исключения, содержащего сериализованные данные об исключении.

(Унаследовано от Exception)

Применяется к

См. также раздел