Uses of Class java.security.Permission (Java Platform SE 8 )
Date: 2026-01-21

## Uses of Class
java.security.Permission

- Packages that use Permission
  Package | Description
  --- | ---
  java.awt | Contains all of the classes for creating user interfaces and for painting graphics and images.
  java.io | Provides for system input and output through data streams, serialization and the file system.
  java.lang | Provides classes that are fundamental to the design of the Java programming language.
  java.lang.management | Provides the management interfaces for monitoring and management of the Java virtual machine and other components in the Java runtime.
  java.lang.reflect | Provides classes and interfaces for obtaining reflective information about classes and objects.
  java.net | Provides the classes for implementing networking applications.
  java.nio.file | Defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.
  java.security | Provides the classes and interfaces for the security framework.
  java.sql | Provides the API for accessing and processing data stored in a data source (usually a relational database) using the JavaTM programming language.
  java.util | Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
  java.util.logging | Provides the classes and interfaces of the JavaTM 2 platform's core logging facilities.
  javax.management | Provides the core classes for the Java Management Extensions.
  javax.management.remote | Interfaces for remote access to JMX MBean servers.
  javax.net.ssl | Provides classes for the secure socket package.
  javax.security.auth | This package provides a framework for authentication and authorization.
  javax.security.auth.kerberos | This package contains utility classes related to the Kerberos network authentication protocol.
  javax.sound.sampled | Provides interfaces and classes for capture, processing, and playback of sampled audio data.
  javax.xml.bind | Provides a runtime binding framework for client applications including unmarshalling, marshalling, and validation capabilities.
  javax.xml.ws | This package contains the core JAX-WS APIs.

- - ### Uses of Permission in java.awt

    Subclasses of Permission in java.awt
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AWTPermission` This class is for AWT permissions.

  - ### Uses of Permission in java.io

    Subclasses of Permission in java.io
    Modifier and Type | Class and Description
    --- | ---
    `class` | `FilePermission` This class represents access to a file or directory.
    `class` | `SerializablePermission` This class is for Serializable permissions.

    Methods in java.io with parameters of type Permission
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | FilePermission.`implies(Permission p)` Checks if this FilePermission object "implies" the specified permission.

  - ### Uses of Permission in java.lang

    Subclasses of Permission in java.lang
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RuntimePermission` This class is for runtime permissions.

    Methods in java.lang with parameters of type Permission
    Modifier and Type | Method and Description
    --- | ---
    `void` | SecurityManager.`checkPermission(Permission perm)` Throws a `SecurityException` if the requested access, specified by the given permission, is not permitted based on the security policy currently in effect.
    `void` | SecurityManager.`checkPermission(Permission perm, Object context)` Throws a `SecurityException` if the specified security context is denied access to the resource specified by the given permission.

  - ### Uses of Permission in java.lang.management

    Subclasses of Permission in java.lang.management
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ManagementPermission` The permission which the SecurityManager will check when code that is running with a SecurityManager calls methods defined in the management interface for the Java platform.

  - ### Uses of Permission in java.lang.reflect

    Subclasses of Permission in java.lang.reflect
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ReflectPermission` The Permission class for reflective operations.

  - ### Uses of Permission in java.net

    Subclasses of Permission in java.net
    Modifier and Type | Class and Description
    --- | ---
    `class` | `NetPermission` This class is for various network permissions.
    `class` | `SocketPermission` This class represents access to a network via sockets.
    `class` | `URLPermission` Represents permission to access a resource or set of resources defined by a given url, and for a given set of user-settable request methods and request headers.

    Methods in java.net that return Permission
    Modifier and Type | Method and Description
    --- | ---
    `Permission` | HttpURLConnection.`getPermission()` Returns a `SocketPermission` object representing the permission necessary to connect to the destination host and port.
    `Permission` | URLConnection.`getPermission()` Returns a permission object representing the permission necessary to make the connection represented by this object.

    Methods in java.net with parameters of type Permission
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | URLPermission.`implies(Permission p)` Checks if this URLPermission implies the given permission.
    `boolean` | SocketPermission.`implies(Permission p)` Checks if this socket permission object "implies" the specified permission.

  - ### Uses of Permission in java.nio.file

    Subclasses of Permission in java.nio.file
    Modifier and Type | Class and Description
    --- | ---
    `class` | `LinkPermission` The `Permission` class for link creation operations.

  - ### Uses of Permission in java.security

    Subclasses of Permission in java.security
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AllPermission` The AllPermission is a permission that implies all other permissions.
    `class` | `BasicPermission` The BasicPermission class extends the Permission class, and can be used as the base class for permissions that want to follow the same naming convention as BasicPermission.
    `class` | `SecurityPermission` This class is for security permissions.
    `class` | `UnresolvedPermission` The UnresolvedPermission class is used to hold Permissions that were "unresolved" when the Policy was initialized.

    Methods in java.security that return Permission
    Modifier and Type | Method and Description
    --- | ---
    `Permission` | AccessControlException.`getPermission()` Gets the Permission object associated with this exception, or null if there was no corresponding Permission object.

    Methods in java.security that return types with arguments of type Permission
    Modifier and Type | Method and Description
    --- | ---
    `Enumeration<Permission>` | Permissions.`elements()` Returns an enumeration of all the Permission objects in all the PermissionCollections in this Permissions object.
    `abstract Enumeration<Permission>` | PermissionCollection.`elements()` Returns an enumeration of all the Permission objects in the collection.

    Methods in java.security with parameters of type Permission
    Modifier and Type | Method and Description
    --- | ---
    `void` | Permissions.`add(Permission permission)` Adds a permission object to the PermissionCollection for the class the permission belongs to.
    `abstract void` | PermissionCollection.`add(Permission permission)` Adds a permission object to the current collection of permission objects.
    `static void` | AccessController.`checkPermission(Permission perm)` Determines whether the access request indicated by the specified permission should be allowed or denied, based on the current AccessControlContext and security policy.
    `void` | AccessControlContext.`checkPermission(Permission perm)` Determines whether the access request indicated by the specified permission should be allowed or denied, based on the security policy currently in effect, and the context in this object.
    `static <T> T` | AccessController.`doPrivileged(PrivilegedAction<T> action, AccessControlContext context, Permission... perms)` Performs the specified `PrivilegedAction` with privileges enabled and restricted by the specified `AccessControlContext` and with a privilege scope limited by specified `Permission` arguments.
    `static <T> T` | AccessController.`doPrivileged(PrivilegedExceptionAction<T> action, AccessControlContext context, Permission... perms)` Performs the specified `PrivilegedExceptionAction` with privileges enabled and restricted by the specified `AccessControlContext` and with a privilege scope limited by specified `Permission` arguments.
    `static <T> T` | AccessController.`doPrivilegedWithCombiner(PrivilegedAction<T> action, AccessControlContext context, Permission... perms)` Performs the specified `PrivilegedAction` with privileges enabled and restricted by the specified `AccessControlContext` and with a privilege scope limited by specified `Permission` arguments.
    `static <T> T` | AccessController.`doPrivilegedWithCombiner(PrivilegedExceptionAction<T> action, AccessControlContext context, Permission... perms)` Performs the specified `PrivilegedExceptionAction` with privileges enabled and restricted by the specified `AccessControlContext` and with a privilege scope limited by specified `Permission` arguments.
    `protected abstract boolean` | PolicySpi.`engineImplies(ProtectionDomain domain, Permission permission)` Check whether the policy has granted a Permission to a ProtectionDomain.
    `boolean` | UnresolvedPermission.`implies(Permission p)` This method always returns false for unresolved permissions.
    `boolean` | Permissions.`implies(Permission permission)` Checks to see if this object's PermissionCollection for permissions of the specified permission's class implies the permissions expressed in the permission object.
    `boolean` | AllPermission.`implies(Permission p)` Checks if the specified permission is "implied" by this object.
    `boolean` | BasicPermission.`implies(Permission p)` Checks if the specified permission is "implied" by this object.
    `abstract boolean` | PermissionCollection.`implies(Permission permission)` Checks to see if the specified permission is implied by the collection of Permission objects held in this PermissionCollection.
    `boolean` | ProtectionDomain.`implies(Permission permission)` Check and see if this ProtectionDomain implies the permissions expressed in the Permission object.
    `abstract boolean` | Permission.`implies(Permission permission)` Checks if the specified permission's actions are "implied by" this object's actions.
    `boolean` | Policy.`implies(ProtectionDomain domain, Permission permission)` Evaluates the global policy for the permissions granted to the ProtectionDomain and tests whether the permission is granted.

    Constructors in java.security with parameters of type Permission
    Constructor and Description
    `AccessControlException(String s, Permission p)` Constructs an `AccessControlException` with the specified, detailed message, and the requested permission that caused the exception.

  - ### Uses of Permission in java.sql

    Subclasses of Permission in java.sql
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SQLPermission` The permission for which the `SecurityManager` will check when code that is running an application with a `SecurityManager` enabled, calls the `DriverManager.deregisterDriver` method, `DriverManager.setLogWriter` method, `DriverManager.setLogStream` (deprecated) method, `SyncFactory.setJNDIContext` method, `SyncFactory.setLogger` method, `Connection.setNetworktimeout` method, or the `Connection.abort` method.

  - ### Uses of Permission in java.util

    Subclasses of Permission in java.util
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PropertyPermission` This class is for property permissions.

    Methods in java.util with parameters of type Permission
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | PropertyPermission.`implies(Permission p)` Checks if this PropertyPermission object "implies" the specified permission.

  - ### Uses of Permission in java.util.logging

    Subclasses of Permission in java.util.logging
    Modifier and Type | Class and Description
    --- | ---
    `class` | `LoggingPermission` The permission which the SecurityManager will check when code that is running with a SecurityManager calls one of the logging control methods (such as Logger.setLevel).

  - ### Uses of Permission in javax.management

    Subclasses of Permission in javax.management
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MBeanPermission` Permission controlling access to MBeanServer operations.
    `class` | `MBeanServerPermission` A Permission to perform actions related to MBeanServers.
    `class` | `MBeanTrustPermission` This permission represents "trust" in a signer or codebase.

    Methods in javax.management with parameters of type Permission
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | MBeanServerPermission.`implies(Permission p)` Checks if this MBeanServerPermission object "implies" the specified permission.
    `boolean` | MBeanPermission.`implies(Permission p)` Checks if this MBeanPermission object "implies" the specified permission.

  - ### Uses of Permission in javax.management.remote

    Subclasses of Permission in javax.management.remote
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SubjectDelegationPermission` Permission required by an authentication identity to perform operations on behalf of an authorization identity.

  - ### Uses of Permission in javax.net.ssl

    Subclasses of Permission in javax.net.ssl
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SSLPermission` This class is for various network permissions.

  - ### Uses of Permission in javax.security.auth

    Subclasses of Permission in javax.security.auth
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AuthPermission` This class is for authentication permissions.
    `class` | `PrivateCredentialPermission` This class is used to protect access to private Credentials belonging to a particular `Subject`.

    Methods in javax.security.auth with parameters of type Permission
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | PrivateCredentialPermission.`implies(Permission p)` Checks if this `PrivateCredentialPermission` implies the specified `Permission`.

  - ### Uses of Permission in javax.security.auth.kerberos

    Subclasses of Permission in javax.security.auth.kerberos
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DelegationPermission` This class is used to restrict the usage of the Kerberos delegation model, ie: forwardable and proxiable tickets.
    `class` | `ServicePermission` This class is used to protect Kerberos services and the credentials necessary to access those services.

    Methods in javax.security.auth.kerberos with parameters of type Permission
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | ServicePermission.`implies(Permission p)` Checks if this Kerberos service permission object "implies" the specified permission.
    `boolean` | DelegationPermission.`implies(Permission p)` Checks if this Kerberos delegation permission object "implies" the specified permission.

  - ### Uses of Permission in javax.sound.sampled

    Subclasses of Permission in javax.sound.sampled
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AudioPermission` The `AudioPermission` class represents access rights to the audio system resources.

  - ### Uses of Permission in javax.xml.bind

    Subclasses of Permission in javax.xml.bind
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JAXBPermission` This class is for JAXB permissions.

  - ### Uses of Permission in javax.xml.ws

    Subclasses of Permission in javax.xml.ws
    Modifier and Type | Class and Description
    --- | ---
    `class` | `WebServicePermission` This class defines web service permissions.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.