## Uses of Class
javax.security.auth.Subject

Packages that use Subject
Package | Description
--- | ---
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 java.security

Methods in java.security with parameters of type Subject
Modifier and Type | Method and Description
--- | ---
`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 and 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 and Description
--- | ---
`MBeanServerConnection` | JMXConnector.`getMBeanServerConnection(Subject delegationSubject)` Returns an `MBeanServerConnection` object representing a remote MBean server on which operations are performed on behalf of the supplied delegation subject.

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

Methods in javax.management.remote.rmi with parameters of type Subject
Modifier and Type | Method and Description
--- | ---
`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)`
`void` | RMIConnection.`addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)` Handles the method `MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, 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)`
`Integer[]` | RMIConnection.`addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects)` Handles the method `MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)`.
`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.`createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject)`
`ObjectInstance` | RMIConnection.`createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject)` Handles the method `MBeanServerConnection.createMBean(String, ObjectName, Object[], String[])`.
`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.`createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject)`
`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` | RMIConnectionImpl_Stub.`createMBean(String $param_String_1, ObjectName $param_ObjectName_2, ObjectName $param_ObjectName_3, Subject $param_Subject_4)`
`ObjectInstance` | RMIConnectionImpl.`createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject)`
`ObjectInstance` | RMIConnection.`createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject)` Handles the method `MBeanServerConnection.createMBean(String, ObjectName, ObjectName)`.
`ObjectInstance` | RMIConnectionImpl_Stub.`createMBean(String $param_String_1, ObjectName $param_ObjectName_2, Subject $param_Subject_3)`
`ObjectInstance` | RMIConnectionImpl.`createMBean(String className, ObjectName name, Subject delegationSubject)`
`ObjectInstance` | RMIConnection.`createMBean(String className, ObjectName name, Subject delegationSubject)` Handles the method `MBeanServerConnection.createMBean(String, ObjectName)`.
`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)`
`Object` | RMIConnection.`getAttribute(ObjectName name, String attribute, Subject delegationSubject)` Handles the method `MBeanServerConnection.getAttribute(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)`
`AttributeList` | RMIConnection.`getAttributes(ObjectName name, String[] attributes, Subject delegationSubject)` Handles the method `MBeanServerConnection.getAttributes(ObjectName, String[])`.
`String` | RMIConnectionImpl_Stub.`getDefaultDomain(Subject $param_Subject_1)`
`String` | RMIConnectionImpl.`getDefaultDomain(Subject delegationSubject)`
`String` | RMIConnection.`getDefaultDomain(Subject delegationSubject)` Handles the method `MBeanServerConnection.getDefaultDomain()`.
`String[]` | RMIConnectionImpl_Stub.`getDomains(Subject $param_Subject_1)`
`String[]` | RMIConnectionImpl.`getDomains(Subject delegationSubject)`
`String[]` | RMIConnection.`getDomains(Subject delegationSubject)` Handles the method `MBeanServerConnection.getDomains()`.
`Integer` | RMIConnectionImpl_Stub.`getMBeanCount(Subject $param_Subject_1)`
`Integer` | RMIConnectionImpl.`getMBeanCount(Subject delegationSubject)`
`Integer` | RMIConnection.`getMBeanCount(Subject delegationSubject)` Handles the method `MBeanServerConnection.getMBeanCount()`.
`MBeanInfo` | RMIConnectionImpl_Stub.`getMBeanInfo(ObjectName $param_ObjectName_1, Subject $param_Subject_2)`
`MBeanInfo` | RMIConnectionImpl.`getMBeanInfo(ObjectName name, Subject delegationSubject)`
`MBeanInfo` | RMIConnection.`getMBeanInfo(ObjectName name, Subject delegationSubject)` Handles the method `MBeanServerConnection.getMBeanInfo(ObjectName)`.
`MBeanServerConnection` | RMIConnector.`getMBeanServerConnection(Subject delegationSubject)`
`ObjectInstance` | RMIConnectionImpl_Stub.`getObjectInstance(ObjectName $param_ObjectName_1, Subject $param_Subject_2)`
`ObjectInstance` | RMIConnectionImpl.`getObjectInstance(ObjectName name, Subject delegationSubject)`
`ObjectInstance` | RMIConnection.`getObjectInstance(ObjectName name, Subject delegationSubject)` Handles the method `MBeanServerConnection.getObjectInstance(ObjectName)`.
`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)`
`Object` | RMIConnection.`invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject)` Handles the method `MBeanServerConnection.invoke(ObjectName, String, Object[], 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.`isInstanceOf(ObjectName name, String className, Subject delegationSubject)` Handles the method `MBeanServerConnection.isInstanceOf(ObjectName, String)`.
`boolean` | RMIConnectionImpl_Stub.`isRegistered(ObjectName $param_ObjectName_1, Subject $param_Subject_2)`
`boolean` | RMIConnectionImpl.`isRegistered(ObjectName name, Subject delegationSubject)`
`boolean` | RMIConnection.`isRegistered(ObjectName name, Subject delegationSubject)` Handles the method `MBeanServerConnection.isRegistered(ObjectName)`.
`protected abstract RMIConnection` | RMIServerImpl.`makeClient(String connectionId, Subject subject)` Creates a new client connection.
`protected RMIConnection` | RMIJRMPServerImpl.`makeClient(String connectionId, Subject subject)` Creates a new client connection as an RMI object exported through JRMP.
`protected RMIConnection` | RMIIIOPServerImpl.`makeClient(String connectionId, Subject subject)` Creates a new client connection as an RMI object exported through IIOP.
`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<ObjectInstance>` | RMIConnection.`queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject)` Handles the method `MBeanServerConnection.queryMBeans(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)`
`Set<ObjectName>` | RMIConnection.`queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject)` Handles the method `MBeanServerConnection.queryNames(ObjectName, QueryExp)`.
`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.`removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, 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` | RMIConnectionImpl_Stub.`removeNotificationListener(ObjectName $param_ObjectName_1, ObjectName $param_ObjectName_2, Subject $param_Subject_3)`
`void` | RMIConnectionImpl.`removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject)`
`void` | RMIConnection.`removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject)` Handles the method `MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName)`.
`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.`removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject)` Handles the `removeNotificationListener(ObjectName, NotificationListener)` and `removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)` methods.
`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)`
`void` | RMIConnection.`setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject)` Handles the method `MBeanServerConnection.setAttribute(ObjectName, Attribute)`.
`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)`
`AttributeList` | RMIConnection.`setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject)` Handles the method `MBeanServerConnection.setAttributes(ObjectName, AttributeList)`.
`void` | RMIConnectionImpl_Stub.`unregisterMBean(ObjectName $param_ObjectName_1, Subject $param_Subject_2)`
`void` | RMIConnectionImpl.`unregisterMBean(ObjectName name, Subject delegationSubject)`
`void` | RMIConnection.`unregisterMBean(ObjectName name, Subject delegationSubject)` Handles the method `MBeanServerConnection.unregisterMBean(ObjectName)`.

Constructors in javax.management.remote.rmi with parameters of type Subject
Constructor and 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 and Description
--- | ---
`Subject` | SubjectDomainCombiner.`getSubject()` Get the `Subject` associated with this `SubjectDomainCombiner`.
`static Subject` | Subject.`getSubject(AccessControlContext acc)` Get the `Subject` associated with the provided `AccessControlContext`.

Methods in javax.security.auth with parameters of type Subject
Modifier and Type | Method and Description
--- | ---
`static <T> T` | Subject.`doAs(Subject subject, PrivilegedAction<T> action)` Perform work as a particular `Subject`.
`static <T> T` | Subject.`doAs(Subject subject, PrivilegedExceptionAction<T> action)` Perform work as a particular `Subject`.
`static <T> T` | Subject.`doAsPrivileged(Subject subject, PrivilegedAction<T> action, AccessControlContext acc)` Perform privileged work as a particular `Subject`.
`static <T> T` | Subject.`doAsPrivileged(Subject subject, PrivilegedExceptionAction<T> action, AccessControlContext acc)` Perform privileged work as a particular `Subject`.
`abstract PermissionCollection` | Policy.`getPermissions(Subject subject, CodeSource cs)` Deprecated. Retrieve the Permissions granted to the Principals associated with the specified `CodeSource`.

Constructors in javax.security.auth with parameters of type Subject
Constructor and Description
`SubjectDomainCombiner(Subject subject)` 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 and Description
--- | ---
`Subject` | LoginContext.`getSubject()` Return the authenticated Subject.

Constructors in javax.security.auth.login with parameters of type Subject
Constructor and 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 and Description
--- | ---
`void` | LoginModule.`initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)` Initialize this LoginModule.

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.