SecurityException Class

Definition

The exception that is thrown when a security error is detected.

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
Inheritance
SecurityException
Inheritance
SecurityException
Attributes

Remarks

A SecurityException exception is thrown when a caller does not have the permissions required to access a resource. The following example instantiates a PermissionSet object that includes a UIPermission object to allow access to UI objects and the Clipboard and a RegistryPermission object to prevent registry access. The call to the PermissionSet.PermitOnly method means that these permissions will apply regardless of the permissions assigned to the caller. As a result, the attempt to create a registry key throws a 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 uses the HRESULT COR_E_SECURITY, which has the value 0x8013150A.

For a list of the initial property values for an instance of the SecurityException class, see a specific SecurityException constructor.

Constructors

SecurityException()

Initializes a new instance of the SecurityException class with default properties.

SecurityException(SerializationInfo, StreamingContext)
Obsolete.

Initializes a new instance of the SecurityException class with serialized data.

SecurityException(String)

Initializes a new instance of the SecurityException class with a specified error message.

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

Initializes a new instance of the SecurityException class for an exception caused by an insufficient grant set.

SecurityException(String, Exception)

Initializes a new instance of the SecurityException class with a specified error message and a reference to the inner exception that is the cause of this exception.

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

Initializes a new instance of the SecurityException class for an exception caused by a Deny on the stack.

SecurityException(String, Type)

Initializes a new instance of the SecurityException class with a specified error message and the permission type that caused the exception to be thrown.

SecurityException(String, Type, String)

Initializes a new instance of the SecurityException class with a specified error message, the permission type that caused the exception to be thrown, and the permission state.

Properties

Action

Gets or sets the security action that caused the exception.

Data

Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
Demanded

Gets or sets the demanded security permission, permission set, or permission set collection that failed.

DenySetInstance

Gets or sets the denied security permission, permission set, or permission set collection that caused a demand to fail.

FailedAssemblyInfo

Gets or sets information about the failed assembly.

FirstPermissionThatFailed

Gets or sets the first permission in a permission set or permission set collection that failed the demand.

GrantedSet

Gets or sets the granted permission set of the assembly that caused the SecurityException.

HelpLink

Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult

Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException

Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message

Gets a message that describes the current exception.

(Inherited from Exception)
Method

Gets or sets the information about the method associated with the exception.

PermissionState

Gets or sets the state of the permission that threw the exception.

PermissionType

Gets or sets the type of the permission that failed.

PermitOnlySetInstance

Gets or sets the permission, permission set, or permission set collection that is part of the permit-only stack frame that caused a security check to fail.

RefusedSet

Gets or sets the refused permission set of the assembly that caused the SecurityException.

Source

Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace

Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite

Gets the method that throws the current exception.

(Inherited from Exception)
Url

Gets or sets the URL of the assembly that caused the exception.

Zone

Gets or sets the zone of the assembly that caused the exception.

Methods

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException()

When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext)
Obsolete.

Sets the SerializationInfo with information about the SecurityException.

GetObjectData(SerializationInfo, StreamingContext)
Obsolete.

When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Inherited from Exception)
GetType()

Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a representation of the current SecurityException.

Events

SerializeObjectState
Obsolete.

Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

Applies to

See also