# 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
`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, and is only useful in conjunction with other APIs which are deprecated and subject to removal in a future release.

## 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)`
`MBeanServerConnection`
RMIConnector.`getMBeanServerConnection(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 depends on `AccessControlContext` which, in conjunction with the Security Manager, is deprecated and subject to removal in a future release.
`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 depends on `AccessControlContext` which, in conjunction with the Security Manager, is deprecated and subject to removal in a future release.
`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 depends on `AccessControlContext` which, in conjunction with the Security Manager, is deprecated and subject to removal in a future release.
`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 is only useful in conjunction with the Security Manager, which is deprecated and subject to removal in a future release.
`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 is only useful in conjunction with the Security Manager, which is deprecated and subject to removal in a future release.
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`.