JavaTM Platform
Standard Ed. 6

类 javax.security.auth.Subject
的使用

使用 Subject 的软件包
java.security 为安全框架提供类和接口。 
javax.management.remote 对 JMX MBean 服务器进行远程访问使用的接口。 
javax.management.remote.rmi RMI 连接器是供 JMX Remote API 使用的一种连接器,后者使用 RMI 将客户端请求传输到远程 MBean 服务器。 
javax.security.auth 此包提供用于进行验证和授权的框架。 
javax.security.auth.login 此包提供可插入的验证框架。 
javax.security.auth.spi 此包提供用于实现可插入验证模块的接口。 
 

java.securitySubject 的使用
 

参数类型为 Subjectjava.security 中的方法
abstract  void AuthProvider.login(Subject subject, CallbackHandler handler)
          登录到此 provider 中。
 

javax.management.remoteSubject 的使用
 

返回 Subjectjavax.management.remote 中的方法
 Subject JMXAuthenticator.authenticate(Object credentials)
          用给定的客户端凭据验证 MBeanServerConnection 客户端。
 

参数类型为 Subjectjavax.management.remote 中的方法
 MBeanServerConnection JMXConnector.getMBeanServerConnection(Subject delegationSubject)
          返回 MBeanServerConnection 对象,它表示在其上执行代表提供的委托主题操作的远程 MBean 服务器。
 

javax.management.remote.rmiSubject 的使用
 

参数类型为 Subjectjavax.management.remote.rmi 中的方法
 void RMIConnection.addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)
          处理 MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object) 方法。
 void RMIConnectionImpl.addNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)
           
 void RMIConnectionImpl_Stub.addNotificationListener(ObjectName $param_ObjectName_1, ObjectName $param_ObjectName_2, MarshalledObject $param_MarshalledObject_3, MarshalledObject $param_MarshalledObject_4, Subject $param_Subject_5)
           
 Integer[] RMIConnection.addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects)
          处理 MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) 方法。
 Integer[] RMIConnectionImpl.addNotificationListeners(ObjectName[] names, MarshalledObject[] filters, Subject[] delegationSubjects)
           
 Integer[] RMIConnectionImpl_Stub.addNotificationListeners(ObjectName[] $param_arrayOf_ObjectName_1, MarshalledObject[] $param_arrayOf_MarshalledObject_2, Subject[] $param_arrayOf_Subject_3)
           
 ObjectInstance RMIConnection.createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject)
          处理 MBeanServerConnection.createMBean(String, ObjectName, Object[], String[]) 方法。
 ObjectInstance RMIConnectionImpl.createMBean(String className, ObjectName name, MarshalledObject params, String[] signature, Subject delegationSubject)
           
 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 RMIConnection.createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject)
          处理 MBeanServerConnection.createMBean(String, ObjectName, ObjectName, Object[], String[]) 方法。
 ObjectInstance RMIConnectionImpl.createMBean(String className, ObjectName name, ObjectName loaderName, MarshalledObject params, String[] signature, Subject delegationSubject)
           
 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 RMIConnection.createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject)
          处理 MBeanServerConnection.createMBean(String, ObjectName, ObjectName) 方法。
 ObjectInstance RMIConnectionImpl.createMBean(String className, ObjectName name, ObjectName loaderName, Subject delegationSubject)
           
 ObjectInstance RMIConnectionImpl_Stub.createMBean(String $param_String_1, ObjectName $param_ObjectName_2, ObjectName $param_ObjectName_3, Subject $param_Subject_4)
           
 ObjectInstance RMIConnection.createMBean(String className, ObjectName name, Subject delegationSubject)
          处理 MBeanServerConnection.createMBean(String, ObjectName) 方法。
 ObjectInstance RMIConnectionImpl.createMBean(String className, ObjectName name, Subject delegationSubject)
           
 ObjectInstance RMIConnectionImpl_Stub.createMBean(String $param_String_1, ObjectName $param_ObjectName_2, Subject $param_Subject_3)
           
 Object RMIConnection.getAttribute(ObjectName name, String attribute, Subject delegationSubject)
          处理 MBeanServerConnection.getAttribute(ObjectName, String) 方法。
 Object RMIConnectionImpl.getAttribute(ObjectName name, String attribute, Subject delegationSubject)
           
 Object RMIConnectionImpl_Stub.getAttribute(ObjectName $param_ObjectName_1, String $param_String_2, Subject $param_Subject_3)
           
 AttributeList RMIConnection.getAttributes(ObjectName name, String[] attributes, Subject delegationSubject)
          处理 MBeanServerConnection.getAttributes(ObjectName, String[]) 方法。
 AttributeList RMIConnectionImpl.getAttributes(ObjectName name, String[] attributes, Subject delegationSubject)
           
 AttributeList RMIConnectionImpl_Stub.getAttributes(ObjectName $param_ObjectName_1, String[] $param_arrayOf_String_2, Subject $param_Subject_3)
           
 String RMIConnection.getDefaultDomain(Subject delegationSubject)
          处理 MBeanServerConnection.getDefaultDomain() 方法。
 String RMIConnectionImpl.getDefaultDomain(Subject delegationSubject)
           
 String RMIConnectionImpl_Stub.getDefaultDomain(Subject $param_Subject_1)
           
 String[] RMIConnection.getDomains(Subject delegationSubject)
          处理 MBeanServerConnection.getDomains() 方法。
 String[] RMIConnectionImpl.getDomains(Subject delegationSubject)
           
 String[] RMIConnectionImpl_Stub.getDomains(Subject $param_Subject_1)
           
 Integer RMIConnection.getMBeanCount(Subject delegationSubject)
          处理 MBeanServerConnection.getMBeanCount() 方法。
 Integer RMIConnectionImpl.getMBeanCount(Subject delegationSubject)
           
 Integer RMIConnectionImpl_Stub.getMBeanCount(Subject $param_Subject_1)
           
 MBeanInfo RMIConnection.getMBeanInfo(ObjectName name, Subject delegationSubject)
          处理 MBeanServerConnection.getMBeanInfo(ObjectName) 方法。
 MBeanInfo RMIConnectionImpl.getMBeanInfo(ObjectName name, Subject delegationSubject)
           
 MBeanInfo RMIConnectionImpl_Stub.getMBeanInfo(ObjectName $param_ObjectName_1, Subject $param_Subject_2)
           
 MBeanServerConnection RMIConnector.getMBeanServerConnection(Subject delegationSubject)
           
 ObjectInstance RMIConnection.getObjectInstance(ObjectName name, Subject delegationSubject)
          处理 MBeanServerConnection.getObjectInstance(ObjectName) 方法。
 ObjectInstance RMIConnectionImpl.getObjectInstance(ObjectName name, Subject delegationSubject)
           
 ObjectInstance RMIConnectionImpl_Stub.getObjectInstance(ObjectName $param_ObjectName_1, Subject $param_Subject_2)
           
 Object RMIConnection.invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject)
          处理 MBeanServerConnection.invoke(ObjectName, String, Object[], String[]) 方法。
 Object RMIConnectionImpl.invoke(ObjectName name, String operationName, MarshalledObject params, String[] signature, Subject delegationSubject)
           
 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)
           
 boolean RMIConnection.isInstanceOf(ObjectName name, String className, Subject delegationSubject)
          处理 MBeanServerConnection.isInstanceOf(ObjectName, String) 方法。
 boolean RMIConnectionImpl.isInstanceOf(ObjectName name, String className, Subject delegationSubject)
           
 boolean RMIConnectionImpl_Stub.isInstanceOf(ObjectName $param_ObjectName_1, String $param_String_2, Subject $param_Subject_3)
           
 boolean RMIConnection.isRegistered(ObjectName name, Subject delegationSubject)
          处理 MBeanServerConnection.isRegistered(ObjectName) 方法。
 boolean RMIConnectionImpl.isRegistered(ObjectName name, Subject delegationSubject)
           
 boolean RMIConnectionImpl_Stub.isRegistered(ObjectName $param_ObjectName_1, Subject $param_Subject_2)
           
protected  RMIConnection RMIIIOPServerImpl.makeClient(String connectionId, Subject subject)
          创建一个如同从 IIOP 导出的 RMI 对象的新客户端连接。
protected  RMIConnection RMIJRMPServerImpl.makeClient(String connectionId, Subject subject)
          创建一个如同从 JRMP 导出的 RMI 对象的新的客户端连接。
protected abstract  RMIConnection RMIServerImpl.makeClient(String connectionId, Subject subject)
          创建一个新的客户端连接。
 Set<ObjectInstance> RMIConnection.queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject)
          处理 MBeanServerConnection.queryMBeans(ObjectName, QueryExp) 方法。
 Set<ObjectInstance> RMIConnectionImpl.queryMBeans(ObjectName name, MarshalledObject query, Subject delegationSubject)
           
 Set RMIConnectionImpl_Stub.queryMBeans(ObjectName $param_ObjectName_1, MarshalledObject $param_MarshalledObject_2, Subject $param_Subject_3)
           
 Set<ObjectName> RMIConnection.queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject)
          处理 MBeanServerConnection.queryNames(ObjectName, QueryExp) 方法。
 Set<ObjectName> RMIConnectionImpl.queryNames(ObjectName name, MarshalledObject query, Subject delegationSubject)
           
 Set RMIConnectionImpl_Stub.queryNames(ObjectName $param_ObjectName_1, MarshalledObject $param_MarshalledObject_2, Subject $param_Subject_3)
           
 void RMIConnection.removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)
          处理 MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName, NotificationFilter, Object) 方法。
 void RMIConnectionImpl.removeNotificationListener(ObjectName name, ObjectName listener, MarshalledObject filter, MarshalledObject handback, Subject delegationSubject)
           
 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 RMIConnection.removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject)
          处理 MBeanServerConnection.removeNotificationListener(ObjectName, ObjectName) 方法。
 void RMIConnectionImpl.removeNotificationListener(ObjectName name, ObjectName listener, Subject delegationSubject)
           
 void RMIConnectionImpl_Stub.removeNotificationListener(ObjectName $param_ObjectName_1, ObjectName $param_ObjectName_2, Subject $param_Subject_3)
           
 void RMIConnection.removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject)
          处理 removeNotificationListener(ObjectName, NotificationListener)removeNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object) 方法。
 void RMIConnectionImpl.removeNotificationListeners(ObjectName name, Integer[] listenerIDs, Subject delegationSubject)
           
 void RMIConnectionImpl_Stub.removeNotificationListeners(ObjectName $param_ObjectName_1, Integer[] $param_arrayOf_Integer_2, Subject $param_Subject_3)
           
 void RMIConnection.setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject)
          处理 MBeanServerConnection.setAttribute(ObjectName, Attribute) 方法。
 void RMIConnectionImpl.setAttribute(ObjectName name, MarshalledObject attribute, Subject delegationSubject)
           
 void RMIConnectionImpl_Stub.setAttribute(ObjectName $param_ObjectName_1, MarshalledObject $param_MarshalledObject_2, Subject $param_Subject_3)
           
 AttributeList RMIConnection.setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject)
          处理 MBeanServerConnection.setAttributes(ObjectName, AttributeList) 方法。
 AttributeList RMIConnectionImpl.setAttributes(ObjectName name, MarshalledObject attributes, Subject delegationSubject)
           
 AttributeList RMIConnectionImpl_Stub.setAttributes(ObjectName $param_ObjectName_1, MarshalledObject $param_MarshalledObject_2, Subject $param_Subject_3)
           
 void RMIConnection.unregisterMBean(ObjectName name, Subject delegationSubject)
          处理 MBeanServerConnection.unregisterMBean(ObjectName) 方法。
 void RMIConnectionImpl.unregisterMBean(ObjectName name, Subject delegationSubject)
           
 void RMIConnectionImpl_Stub.unregisterMBean(ObjectName $param_ObjectName_1, Subject $param_Subject_2)
           
 

参数类型为 Subjectjavax.management.remote.rmi 中的构造方法
RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String,?> env)
          构造新的 RMIConnection
 

javax.security.authSubject 的使用
 

返回 Subjectjavax.security.auth 中的方法
 Subject SubjectDomainCombiner.getSubject()
          获取与此 SubjectDomainCombiner 关联的 Subject
static Subject Subject.getSubject(AccessControlContext acc)
          获取与提供的 AccessControlContext 关联的 Subject
 

参数类型为 Subjectjavax.security.auth 中的方法
static
<T> T
Subject.doAs(Subject subject, PrivilegedAction<T> action)
          作为特定的 Subject 的功能。
static
<T> T
Subject.doAs(Subject subject, PrivilegedExceptionAction<T> action)
          作为特定的 Subject 的功能。
static
<T> T
Subject.doAsPrivileged(Subject subject, PrivilegedAction<T> action, AccessControlContext acc)
          作为特定的 Subject 的特权功能。
static
<T> T
Subject.doAsPrivileged(Subject subject, PrivilegedExceptionAction<T> action, AccessControlContext acc)
          作为特定的 Subject 的特权功能。
abstract  PermissionCollection Policy.getPermissions(Subject subject, CodeSource cs)
          已过时。 获取授予与指定的 CodeSource 关联的 Principals 的 Permissions。
 

参数类型为 Subjectjavax.security.auth 中的构造方法
SubjectDomainCombiner(Subject subject)
          将提供的 Subject 与此 SubjectDomainCombiner 关联。
 

javax.security.auth.loginSubject 的使用
 

返回 Subjectjavax.security.auth.login 中的方法
 Subject LoginContext.getSubject()
          返回已进行验证的 Subject。
 

参数类型为 Subjectjavax.security.auth.login 中的构造方法
LoginContext(String name, Subject subject)
          使用 name 和 Subject 对象实例化一个新 LoginContext 对象。
LoginContext(String name, Subject subject, CallbackHandler callbackHandler)
          使用 name、要进行验证的 SubjectCallbackHandler 对象实例化一个新 LoginContext 对象。
LoginContext(String name, Subject subject, CallbackHandler callbackHandler, Configuration config)
          使用 name、要进行验证的 SubjectCallbackHandler 对象和登录 Configuration 来实例化一个新 LoginContext 对象。
 

javax.security.auth.spiSubject 的使用
 

参数类型为 Subjectjavax.security.auth.spi 中的方法
 void LoginModule.initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)
          初始化此 LoginModule。
 


JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策