SecurityException
Class
Definition
The exception that is thrown when a security error is detected.
[System.Runtime.InteropServices.ComVisible(true)]
public class SecurityException : SystemException
- Inheritance
- Attributes
Inherited Members
System.Exception
System.Object
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(String) |
Initializes a new instance of the SecurityException class with a specified error message. |
| SecurityException(SerializationInfo, StreamingContext) |
Initializes a new instance of the SecurityException class with serialized data. |
| 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, 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. |
| 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, 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. |
Properties
| Action |
Gets or sets the security action that caused the 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. |
| 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. |
| 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
| GetObjectData(SerializationInfo, StreamingContext) |
Sets the SerializationInfo with information about the SecurityException. |
| ToString() |
Returns a representation of the current SecurityException. |