当前位置: 首页>>代码示例>>Java>>正文


Java SubjectDelegator类代码示例

本文整理汇总了Java中com.sun.jmx.remote.security.SubjectDelegator的典型用法代码示例。如果您正苦于以下问题:Java SubjectDelegator类的具体用法?Java SubjectDelegator怎么用?Java SubjectDelegator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


SubjectDelegator类属于com.sun.jmx.remote.security包,在下文中一共展示了SubjectDelegator类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: RMIConnectionImpl

import com.sun.jmx.remote.security.SubjectDelegator; //导入依赖的package包/类
/**
 * Constructs a new {@link RMIConnection}. This connection can be
 * used with either the JRMP or IIOP transport. This object does
 * not export itself: it is the responsibility of the caller to
 * export it appropriately (see {@link
 * RMIJRMPServerImpl#makeClient(String,Subject)} and {@link
 * RMIIIOPServerImpl#makeClient(String,Subject)}.
 *
 * @param rmiServer The RMIServerImpl object for which this
 * connection is created.  The behavior is unspecified if this
 * parameter is null.
 * @param connectionId The ID for this connection.  The behavior
 * is unspecified if this parameter is null.
 * @param defaultClassLoader The default ClassLoader to be used
 * when deserializing marshalled objects.  Can be null, to signify
 * the bootstrap class loader.
 * @param subject the authenticated subject to be used for
 * authorization.  Can be null, to signify that no subject has
 * been authenticated.
 * @param env the environment containing attributes for the new
 * <code>RMIServerImpl</code>.  Can be null, equivalent to an
 * empty map.
 */
public RMIConnectionImpl(RMIServerImpl rmiServer,
                         String connectionId,
                         ClassLoader defaultClassLoader,
                         Subject subject,
                         Map<String,?> env) {
    if (rmiServer == null || connectionId == null)
        throw new NullPointerException("Illegal null argument");
    if (env == null)
        env = Collections.emptyMap();
    this.rmiServer = rmiServer;
    this.connectionId = connectionId;
    this.defaultClassLoader = defaultClassLoader;

    this.subjectDelegator = new SubjectDelegator();
    this.subject = subject;
    if (subject == null) {
        this.acc = null;
        this.removeCallerContext = false;
    } else {
        this.removeCallerContext =
            SubjectDelegator.checkRemoveCallerContext(subject);
        if (this.removeCallerContext) {
            this.acc =
                JMXSubjectDomainCombiner.getDomainCombinerContext(subject);
        } else {
            this.acc =
                JMXSubjectDomainCombiner.getContext(subject);
        }
    }
    this.mbeanServer = rmiServer.getMBeanServer();

    final ClassLoader dcl = defaultClassLoader;
    this.classLoaderWithRepository =
        AccessController.doPrivileged(
            new PrivilegedAction<ClassLoaderWithRepository>() {
                public ClassLoaderWithRepository run() {
                    return new ClassLoaderWithRepository(
                                  mbeanServer.getClassLoaderRepository(),
                                  dcl);
                }
            });
    serverCommunicatorAdmin = new
      RMIServerCommunicatorAdmin(EnvHelp.getServerConnectionTimeout(env));

    this.env = env;
}
 
开发者ID:openjdk,项目名称:jdk7-jdk,代码行数:70,代码来源:RMIConnectionImpl.java


注:本文中的com.sun.jmx.remote.security.SubjectDelegator类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。