# Uses of Class
javax.security.auth.Subject

Packages that use Subject
Package
Description
com.sun.security.auth
Provides implementations of `Principal`.
com.sun.security.auth.module
Provides implementations of `LoginModule`.
com.sun.security.jgss
This package defines classes and interfaces for the JDK extensions to the GSS-API.
java.security
Provides the classes and interfaces for the security framework.
javax.management.remote
Interfaces for remote access to JMX MBean servers.
javax.management.remote.rmi
The RMI connector is a connector for the JMX Remote API that uses RMI to transmit client requests to a remote MBean server.
javax.security.auth
This package provides a framework for authentication and authorization.
javax.security.auth.login
This package provides a pluggable authentication framework.
javax.security.auth.spi
This package provides the interface to be used for implementing pluggable authentication modules.

- ## Uses of Subject in com.sun.security.auth

  Methods in com.sun.security.auth with parameters of type Subject
  Modifier and Type
  Method
  Description
  `boolean`
  PrincipalComparator.`implies(Subject subject)`
  Check if the specified `Subject` is implied by this object.

- ## Uses of Subject in com.sun.security.auth.module

  Methods in com.sun.security.auth.module with parameters of type Subject
  Modifier and Type
  Method
  Description
  `void`
  JndiLoginModule.`initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)`
  Initialize this `LoginModule`.
  `void`
  KeyStoreLoginModule.`initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)`
  Initialize this `LoginModule`.
  `void`
  Krb5LoginModule.`initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)`
  Initialize this `LoginModule`.
  `void`
  LdapLoginModule.`initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)`
  Initialize this `LoginModule`.
  `void`
  NTLoginModule.`initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)`
  Initialize this `LoginModule`.
  `void`
  UnixLoginModule.`initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)`
  Initialize this `LoginModule`.

- ## Uses of Subject in com.sun.security.jgss

  Methods in com.sun.security.jgss that return Subject
  Modifier and Type
  Method
  Description
  `static Subject`
  GSSUtil.`createSubject(GSSName principals, GSSCredential credentials)`
  Use this method to convert a `GSSName` and `GSSCredential` into a `Subject`.

- ## Uses of Subject in java.security

  Methods in java.security with parameters of type Subject
  Modifier and Type
  Method
  Description
  `default boolean`
  Principal.`implies(Subject subject)`
  Returns `true` if the specified subject is implied by this `Principal`.
  `abstract void`
  AuthProvider.`login(Subject subject, CallbackHandler handler)`
  Log in to this provider.

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

  Methods in javax.management.remote that return Subject
  Modifier and Type
  Method
  Description
  `Subject`
  JMXAuthenticator.`authenticate(Object credentials)`
  Authenticates the `MBeanServerConnection` client with the given client credentials.
  Methods in javax.management.remote with parameters of type Subject
  Modifier and Type
  Method
  Description
  `default MBeanServerConnection`
  JMXConnector.`getMBeanServerConnection(Subject delegationSubject)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  This method supported the legacy Subject Delegation feature, which has been removed.

- ## Uses of Subject in javax.management.remote.rmi

  Methods in javax.management.remote.rmi with parameters of type Subject
  Modifier and Type
  Method
  Description
  `void`
  RMIConnection.`addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)`.
  `void`
  RMIConnectionImpl_Stub.`addNotificationListener(ObjectName $param_ObjectName_1, ObjectName $param_ObjectName_2, MarshalledObject $param_MarshalledObject_3, MarshalledObject $param_MarshalledObject_4, Subject $param_Subject_5)`
  `void`
  RMIConnectionImpl.`addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)`
  `Integer[]`
  RMIConnection.`addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects)`
  Handles the method `MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)`.
  `Integer[]`
  RMIConnectionImpl_Stub.`addNotificationListeners(ObjectName[] $param_arrayOf_ObjectName_1, MarshalledObject[] $param_arrayOf_MarshalledObject_2, Subject[] $param_arrayOf_Subject_3)`
  `Integer[]`
  RMIConnectionImpl.`addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects)`
  `ObjectInstance`
  RMIConnection.`createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.createMBean(String, ObjectName, Object[], String[])`.
  `ObjectInstance`
  RMIConnection.`createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[])`.
  `ObjectInstance`
  RMIConnection.`createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.createMBean(String, ObjectName, ObjectName)`.
  `ObjectInstance`
  RMIConnection.`createMBean(String className, ObjectName name, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.createMBean(String, ObjectName)`.
  `ObjectInstance`
  RMIConnectionImpl_Stub.`createMBean(String $param_String_1, ObjectName $param_ObjectName_2, MarshalledObject $param_MarshalledObject_3, String[] $param_arrayOf_String_4, Subject $param_Subject_5)`
  `ObjectInstance`
  RMIConnectionImpl_Stub.`createMBean(String $param_String_1, ObjectName $param_ObjectName_2, ObjectName $param_ObjectName_3, MarshalledObject $param_MarshalledObject_4, String[] $param_arrayOf_String_5, Subject $param_Subject_6)`
  `ObjectInstance`
  RMIConnectionImpl_Stub.`createMBean(String $param_String_1, ObjectName $param_ObjectName_2, ObjectName $param_ObjectName_3, Subject $param_Subject_4)`
  `ObjectInstance`
  RMIConnectionImpl_Stub.`createMBean(String $param_String_1, ObjectName $param_ObjectName_2, Subject $param_Subject_3)`
  `ObjectInstance`
  RMIConnectionImpl.`createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject)`
  `ObjectInstance`
  RMIConnectionImpl.`createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject)`
  `ObjectInstance`
  RMIConnectionImpl.`createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject)`
  `ObjectInstance`
  RMIConnectionImpl.`createMBean(String className, ObjectName name, Subject delegationSubject)`
  `Object`
  RMIConnection.`getAttribute(ObjectName name, String attribute, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.getAttribute(ObjectName, String)`.
  `Object`
  RMIConnectionImpl_Stub.`getAttribute(ObjectName $param_ObjectName_1, String $param_String_2, Subject $param_Subject_3)`
  `Object`
  RMIConnectionImpl.`getAttribute(ObjectName name, String attribute, Subject delegationSubject)`
  `AttributeList`
  RMIConnection.`getAttributes(ObjectName name, String[] attributes, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.getAttributes(ObjectName, String[])`.
  `AttributeList`
  RMIConnectionImpl_Stub.`getAttributes(ObjectName $param_ObjectName_1, String[] $param_arrayOf_String_2, Subject $param_Subject_3)`
  `AttributeList`
  RMIConnectionImpl.`getAttributes(ObjectName name, String[] attributes, Subject delegationSubject)`
  `String`
  RMIConnection.`getDefaultDomain(Subject delegationSubject)`
  Handles the method `MBeanServerConnection.getDefaultDomain()`.
  `String`
  RMIConnectionImpl_Stub.`getDefaultDomain(Subject $param_Subject_1)`
  `String`
  RMIConnectionImpl.`getDefaultDomain(Subject delegationSubject)`
  `String[]`
  RMIConnection.`getDomains(Subject delegationSubject)`
  Handles the method `MBeanServerConnection.getDomains()`.
  `String[]`
  RMIConnectionImpl_Stub.`getDomains(Subject $param_Subject_1)`
  `String[]`
  RMIConnectionImpl.`getDomains(Subject delegationSubject)`
  `Integer`
  RMIConnection.`getMBeanCount(Subject delegationSubject)`
  Handles the method `MBeanServerConnection.getMBeanCount()`.
  `Integer`
  RMIConnectionImpl_Stub.`getMBeanCount(Subject $param_Subject_1)`
  `Integer`
  RMIConnectionImpl.`getMBeanCount(Subject delegationSubject)`
  `MBeanInfo`
  RMIConnection.`getMBeanInfo(ObjectName name, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.getMBeanInfo(ObjectName)`.
  `MBeanInfo`
  RMIConnectionImpl_Stub.`getMBeanInfo(ObjectName $param_ObjectName_1, Subject $param_Subject_2)`
  `MBeanInfo`
  RMIConnectionImpl.`getMBeanInfo(ObjectName name, Subject delegationSubject)`
  `ObjectInstance`
  RMIConnection.`getObjectInstance(ObjectName name, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.getObjectInstance(ObjectName)`.
  `ObjectInstance`
  RMIConnectionImpl_Stub.`getObjectInstance(ObjectName $param_ObjectName_1, Subject $param_Subject_2)`
  `ObjectInstance`
  RMIConnectionImpl.`getObjectInstance(ObjectName name, Subject delegationSubject)`
  `Object`
  RMIConnection.`invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.invoke(ObjectName, String, Object[], String[])`.
  `Object`
  RMIConnectionImpl_Stub.`invoke(ObjectName $param_ObjectName_1, String $param_String_2, MarshalledObject $param_MarshalledObject_3, String[] $param_arrayOf_String_4, Subject $param_Subject_5)`
  `Object`
  RMIConnectionImpl.`invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject)`
  `boolean`
  RMIConnection.`isInstanceOf(ObjectName name, String className, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.isInstanceOf(ObjectName, String)`.
  `boolean`
  RMIConnectionImpl_Stub.`isInstanceOf(ObjectName $param_ObjectName_1, String $param_String_2, Subject $param_Subject_3)`
  `boolean`
  RMIConnectionImpl.`isInstanceOf(ObjectName name, String className, Subject delegationSubject)`
  `boolean`
  RMIConnection.`isRegistered(ObjectName name, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.isRegistered(ObjectName)`.
  `boolean`
  RMIConnectionImpl_Stub.`isRegistered(ObjectName $param_ObjectName_1, Subject $param_Subject_2)`
  `boolean`
  RMIConnectionImpl.`isRegistered(ObjectName name, Subject delegationSubject)`
  `protected RMIConnection`
  RMIJRMPServerImpl.`makeClient(String connectionId, Subject subject)`
  Creates a new client connection as an RMI object exported through JRMP.
  `protected abstract RMIConnection`
  RMIServerImpl.`makeClient(String connectionId, Subject subject)`
  Creates a new client connection.
  `Set<ObjectInstance>`
  RMIConnection.`queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.queryMBeans(ObjectName, QueryExp)`.
  `Set`
  RMIConnectionImpl_Stub.`queryMBeans(ObjectName $param_ObjectName_1, MarshalledObject $param_MarshalledObject_2, Subject $param_Subject_3)`
  `Set<ObjectInstance>`
  RMIConnectionImpl.`queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject)`
  `Set<ObjectName>`
  RMIConnection.`queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.queryNames(ObjectName, QueryExp)`.
  `Set`
  RMIConnectionImpl_Stub.`queryNames(ObjectName $param_ObjectName_1, MarshalledObject $param_MarshalledObject_2, Subject $param_Subject_3)`
  `Set<ObjectName>`
  RMIConnectionImpl.`queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject)`
  `void`
  RMIConnection.`removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)`.
  `void`
  RMIConnection.`removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName)`.
  `void`
  RMIConnectionImpl_Stub.`removeNotificationListener(ObjectName $param_ObjectName_1, ObjectName $param_ObjectName_2, MarshalledObject $param_MarshalledObject_3, MarshalledObject $param_MarshalledObject_4, Subject $param_Subject_5)`
  `void`
  RMIConnectionImpl_Stub.`removeNotificationListener(ObjectName $param_ObjectName_1, ObjectName $param_ObjectName_2, Subject $param_Subject_3)`
  `void`
  RMIConnectionImpl.`removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)`
  `void`
  RMIConnectionImpl.`removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject)`
  `void`
  RMIConnection.`removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject)`
  Handles the `removeNotificationListener(ObjectName, NotificationListener)` and `removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)` methods.
  `void`
  RMIConnectionImpl_Stub.`removeNotificationListeners(ObjectName $param_ObjectName_1, Integer[] $param_arrayOf_Integer_2, Subject $param_Subject_3)`
  `void`
  RMIConnectionImpl.`removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject)`
  `void`
  RMIConnection.`setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.setAttribute(ObjectName, Attribute)`.
  `void`
  RMIConnectionImpl_Stub.`setAttribute(ObjectName $param_ObjectName_1, MarshalledObject $param_MarshalledObject_2, Subject $param_Subject_3)`
  `void`
  RMIConnectionImpl.`setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject)`
  `AttributeList`
  RMIConnection.`setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.setAttributes(ObjectName, AttributeList)`.
  `AttributeList`
  RMIConnectionImpl_Stub.`setAttributes(ObjectName $param_ObjectName_1, MarshalledObject $param_MarshalledObject_2, Subject $param_Subject_3)`
  `AttributeList`
  RMIConnectionImpl.`setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject)`
  `void`
  RMIConnection.`unregisterMBean(ObjectName name, Subject delegationSubject)`
  Handles the method `MBeanServerConnection.unregisterMBean(ObjectName)`.
  `void`
  RMIConnectionImpl_Stub.`unregisterMBean(ObjectName $param_ObjectName_1, Subject $param_Subject_2)`
  `void`
  RMIConnectionImpl.`unregisterMBean(ObjectName name, Subject delegationSubject)`
  Constructors in javax.management.remote.rmi with parameters of type Subject
  Modifier
  Constructor
  Description
  ``
  `RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String,?> env)`
  Constructs a new `RMIConnection`.

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

  Methods in javax.security.auth that return Subject
  Modifier and Type
  Method
  Description
  `static Subject`
  Subject.`current()`
  Returns the current subject.
  `static Subject`
  Subject.`getSubject(AccessControlContext acc)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  This method used to get the subject associated with the provided `AccessControlContext`, which was only useful in conjunction with the Security Manager, which is no longer supported.
  `Subject`
  SubjectDomainCombiner.`getSubject()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Get the `Subject` associated with this `SubjectDomainCombiner`.
  Methods in javax.security.auth with parameters of type Subject
  Modifier and Type
  Method
  Description
  `static <T> T`
  Subject.`callAs(Subject subject, Callable<T> action)`
  Executes a `Callable` with `subject` as the current subject.
  `static <T> T`
  Subject.`doAs(Subject subject, PrivilegedAction<T> action)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  This method originally performed the specified `PrivilegedAction` with privileges enabled.
  `static <T> T`
  Subject.`doAs(Subject subject, PrivilegedExceptionAction<T> action)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  This method originally performed the specified `PrivilegedExceptionAction` with privileges enabled.
  `static <T> T`
  Subject.`doAsPrivileged(Subject subject, PrivilegedAction<T> action, AccessControlContext acc)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  This method originally performed the specified `PrivilegedAction` with privileges enabled and restricted by the specified `AccessControlContext`.
  `static <T> T`
  Subject.`doAsPrivileged(Subject subject, PrivilegedExceptionAction<T> action, AccessControlContext acc)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  This method originally performed the specified `PrivilegedExceptionAction` with privileges enabled and restricted by the specified `AccessControlContext`.
  Constructors in javax.security.auth with parameters of type Subject
  Modifier
  Constructor
  Description
  ``
  `SubjectDomainCombiner(Subject subject)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Associate the provided `Subject` with this `SubjectDomainCombiner`.

- ## Uses of Subject in javax.security.auth.login

  Methods in javax.security.auth.login that return Subject
  Modifier and Type
  Method
  Description
  `Subject`
  LoginContext.`getSubject()`
  Return the authenticated Subject.
  Constructors in javax.security.auth.login with parameters of type Subject
  Modifier
  Constructor
  Description
  ``
  `LoginContext(String name, Subject subject)`
  Instantiate a new `LoginContext` object with a name and a `Subject` object.
  ``
  `LoginContext(String name, Subject subject, CallbackHandler callbackHandler)`
  Instantiate a new `LoginContext` object with a name, a `Subject` to be authenticated, and a `CallbackHandler` object.
  ``
  `LoginContext(String name, Subject subject, CallbackHandler callbackHandler, Configuration config)`
  Instantiate a new `LoginContext` object with a name, a `Subject` to be authenticated, a `CallbackHandler` object, and a login `Configuration`.

- ## Uses of Subject in javax.security.auth.spi

  Methods in javax.security.auth.spi with parameters of type Subject
  Modifier and Type
  Method
  Description
  `void`
  LoginModule.`initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)`
  Initialize this `LoginModule`.