## 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
    --- | ---
    `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 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 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.
    `protected abstract RMIConnection` | RMIServerImpl.`makeClient(String connectionId, Subject subject)` Creates a new client connection.
    `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.

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, 2015, Oracle and/or its affiliates. All rights reserved.