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

Packages that use Subject
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
`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
`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
`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
`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
`Subject` JMXAuthenticator.`authenticate​(Object credentials)` Authenticates the `MBeanServerConnection` client with the given client credentials.

Methods in javax.management.remote with parameters of type Subject
`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
`void` RMIConnection.`addNotificationListener​(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)` Handles the method `MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object)`.
`Integer[]` RMIConnection.`addNotificationListeners​(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects)` Handles the method `MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)`.
`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)`.
`Object` RMIConnection.`getAttribute​(ObjectName name, String attribute, Subject delegationSubject)` Handles the method `MBeanServerConnection.getAttribute(ObjectName, String)`.
`AttributeList` RMIConnection.`getAttributes​(ObjectName name, String[] attributes, Subject delegationSubject)` Handles the method `MBeanServerConnection.getAttributes(ObjectName, String[])`.
`String` RMIConnection.`getDefaultDomain​(Subject delegationSubject)` Handles the method `MBeanServerConnection.getDefaultDomain()`.
`String[]` RMIConnection.`getDomains​(Subject delegationSubject)` Handles the method `MBeanServerConnection.getDomains()`.
`Integer` RMIConnection.`getMBeanCount​(Subject delegationSubject)` Handles the method `MBeanServerConnection.getMBeanCount()`.
`MBeanInfo` RMIConnection.`getMBeanInfo​(ObjectName name, Subject delegationSubject)` Handles the method `MBeanServerConnection.getMBeanInfo(ObjectName)`.
`ObjectInstance` RMIConnection.`getObjectInstance​(ObjectName name, Subject delegationSubject)` Handles the method `MBeanServerConnection.getObjectInstance(ObjectName)`.
`Object` RMIConnection.`invoke​(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject)` Handles the method `MBeanServerConnection.invoke(ObjectName, String, Object[], String[])`.
`boolean` RMIConnection.`isInstanceOf​(ObjectName name, String className, Subject delegationSubject)` Handles the method `MBeanServerConnection.isInstanceOf(ObjectName, String)`.
`boolean` RMIConnection.`isRegistered​(ObjectName name, Subject delegationSubject)` Handles the method `MBeanServerConnection.isRegistered(ObjectName)`.
`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<ObjectName>` RMIConnection.`queryNames​(ObjectName name, MarshalledObject query, Subject delegationSubject)` Handles the method `MBeanServerConnection.queryNames(ObjectName, QueryExp)`.
`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` RMIConnection.`removeNotificationListeners​(ObjectName name, Integer[] listenerIDs, Subject delegationSubject)` Handles the `removeNotificationListener(ObjectName, NotificationListener)` and `removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object)` methods.
`void` RMIConnection.`setAttribute​(ObjectName name, MarshalledObject attribute, Subject delegationSubject)` Handles the method `MBeanServerConnection.setAttribute(ObjectName, Attribute)`.
`AttributeList` RMIConnection.`setAttributes​(ObjectName name, MarshalledObject attributes, Subject delegationSubject)` Handles the method `MBeanServerConnection.setAttributes(ObjectName, AttributeList)`.
`void` RMIConnection.`unregisterMBean​(ObjectName name, Subject delegationSubject)` Handles the method `MBeanServerConnection.unregisterMBean(ObjectName)`.

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

Methods in javax.security.auth with parameters of type Subject
`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`.

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

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