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


Java InitialDirContext.addToEnvironment方法代码示例

本文整理汇总了Java中javax.naming.directory.InitialDirContext.addToEnvironment方法的典型用法代码示例。如果您正苦于以下问题:Java InitialDirContext.addToEnvironment方法的具体用法?Java InitialDirContext.addToEnvironment怎么用?Java InitialDirContext.addToEnvironment使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.naming.directory.InitialDirContext的用法示例。


在下文中一共展示了InitialDirContext.addToEnvironment方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createLdapDataSource

import javax.naming.directory.InitialDirContext; //导入方法依赖的package包/类
@Override
public DataSource createLdapDataSource(Properties loginProperties, String ldapName) throws NamingException
{
    DataSource ds;
    // borisv: this code stores all parameters in static baseEnvironment. So if you have multiple connections, next connection will get parameters from previous (unless overwriten by loginParamters).
    loginProperties.put(USE_JNDI_JDBC_CONNECTION_POOL_KEY, "false");
    if (loginProperties.getProperty(JAVA_NAMING_FACTORY_INITIAL) == null)
    {
        loginProperties.put(JAVA_NAMING_FACTORY_INITIAL, "com.sun.jndi.ldap.LdapCtxFactory");
    }
    InitialDirContext context = new JdbcInitialDirContext(loginProperties);

    Enumeration propKeys = loginProperties.keys();
    while(propKeys.hasMoreElements())
    {
        Object key = propKeys.nextElement();
        context.addToEnvironment((String)key, loginProperties.get(key));
    }

    ds = (DataSource) context.lookup(ldapName);
    return ds;
}
 
开发者ID:goldmansachs,项目名称:reladomo,代码行数:23,代码来源:JndiJdbcLdapDataSourceProvider.java

示例2: createInitialDirContext

import javax.naming.directory.InitialDirContext; //导入方法依赖的package包/类
/**
 * Create InitialDirContext.
 *
 * @param server Server DNS name hosting LDAP service
 * @param port   Port at which server listens for requests
 * @throws InvalidAlgorithmParameterException if creation fails
 */
private void createInitialDirContext(String server, int port)
        throws InvalidAlgorithmParameterException {
    String url = "ldap://" + server + ":" + port;
    Hashtable<String,Object> env = new Hashtable<String,Object>();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
            "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, url);
    try {
        ctx = new InitialDirContext(env);
        /*
         * By default, follow referrals unless application has
         * overridden property in an application resource file.
         */
        Hashtable<?,?> currentEnv = ctx.getEnvironment();
        if (currentEnv.get(Context.REFERRAL) == null) {
            ctx.addToEnvironment(Context.REFERRAL, "follow");
        }
    } catch (NamingException e) {
        if (debug != null) {
            debug.println("LDAPCertStore.engineInit about to throw "
                + "InvalidAlgorithmParameterException");
            e.printStackTrace();
        }
        Exception ee = new InvalidAlgorithmParameterException
            ("unable to create InitialDirContext using supplied parameters");
        ee.initCause(e);
        throw (InvalidAlgorithmParameterException)ee;
    }
}
 
开发者ID:openjdk,项目名称:jdk7-jdk,代码行数:37,代码来源:LDAPCertStore.java

示例3: lookupExistence

import javax.naming.directory.InitialDirContext; //导入方法依赖的package包/类
/**
 * Looks up an LDAP object by its DN and returns <tt>true</tt> if
 * the search was successful.
 *
 * @param ctx the Context to use for the lookup.
 * @param dn the object's dn to lookup.
 * @return true if the lookup was successful.
 * @throws NamingException if login credentials were wrong.
 */
private Boolean lookupExistence(InitialDirContext ctx, String dn, String[] returnattrs) throws NamingException {
    boolean debug = Log.isDebugEnabled();

    if (debug) {
        Log.debug("LdapManager: In lookupExistence(ctx, dn, returnattrs), searchdn is: " + dn);
    }

    // Bind to the object's DN
    ctx.addToEnvironment(Context.PROVIDER_URL, getProviderURL(dn));

    String filter = "(&(objectClass=*))";
    SearchControls srcnt = new SearchControls();
    srcnt.setSearchScope(SearchControls.OBJECT_SCOPE);
    srcnt.setReturningAttributes(returnattrs);

    NamingEnumeration<SearchResult> answer = null;

    try {
        answer = ctx.search(
                "",
                filter,
                srcnt);
    } catch (javax.naming.NameNotFoundException nex) {
        // DN not found
    } catch (NamingException ex){
        throw ex;
    }

    if (answer == null || !answer.hasMoreElements())
    {
        Log.debug("LdapManager: .... lookupExistence: DN not found.");
        return false;
    }
    else
    {
        Log.debug("LdapManager: .... lookupExistence: DN found.");
        return true;
    }
}
 
开发者ID:igniterealtime,项目名称:Openfire,代码行数:49,代码来源:LdapManager.java

示例4: testAddToEnvironment_binaryAttributeProp

import javax.naming.directory.InitialDirContext; //导入方法依赖的package包/类
public void testAddToEnvironment_binaryAttributeProp() throws Exception {
    server.setResponseSeq(new LdapMessage[] { new LdapMessage(
            LdapASN1Constant.OP_BIND_RESPONSE, new BindResponse(), null) });

    assertNull(env.get(Context.REFERRAL));

    InitialDirContext initialDirContext = new InitialDirContext(env);

    initialDirContext.addToEnvironment(
            "java.naming.ldap.attributes.binary", "cn");
    assertEquals("cn", initialDirContext.getEnvironment().get(
            "java.naming.ldap.attributes.binary"));

    initialDirContext.addToEnvironment(
            "java.naming.ldap.attributes.binary", "cn ou");
    assertEquals("cn ou", initialDirContext.getEnvironment().get(
            "java.naming.ldap.attributes.binary"));

    initialDirContext.addToEnvironment(
            "java.naming.ldap.attributes.binary", " cn ");
    assertEquals(" cn ", initialDirContext.getEnvironment().get(
            "java.naming.ldap.attributes.binary"));

    initialDirContext.addToEnvironment(
            "java.naming.ldap.attributes.binary", " cn ou ");
    assertEquals(" cn ou ", initialDirContext.getEnvironment().get(
            "java.naming.ldap.attributes.binary"));

    try {
        initialDirContext.addToEnvironment(
                "java.naming.ldap.attributes.binary", new Object());
        fail("Should throw ClassCastException");
    } catch (ClassCastException e) {
        // expected
    }
}
 
开发者ID:shannah,项目名称:cn1,代码行数:37,代码来源:LdapContextServerMockedTest.java

示例5: lookupExistence

import javax.naming.directory.InitialDirContext; //导入方法依赖的package包/类
/** 
   * Looks up an LDAP object by its DN and returns <tt>true</tt> if
   * the search was successful.
   * 
   * @param ctx the Context to use for the lookup.
   * @param dn the object's dn to lookup.
   * @return true if the lookup was successful.
   * @throws NamingException if login credentials were wrong.
   */
  private Boolean lookupExistence(InitialDirContext ctx, String dn, String[] returnattrs) throws NamingException {
  	boolean debug = Log.isDebugEnabled();
  	
      if (debug) {
          Log.debug("LdapManager: In lookupExistence(ctx, dn, returnattrs), searchdn is: " + dn); 
      }
      
      // Bind to the object's DN
      ctx.addToEnvironment(Context.PROVIDER_URL, getProviderURL(dn));

  	String filter = "(&(objectClass=*))";
SearchControls srcnt = new SearchControls();
srcnt.setSearchScope(SearchControls.OBJECT_SCOPE);
srcnt.setReturningAttributes(returnattrs);

NamingEnumeration<SearchResult> answer = null;

try {
	answer = ctx.search(
			"",
			filter,
			srcnt);
} catch (javax.naming.NameNotFoundException nex) {
	// DN not found
} catch (NamingException ex){
	throw ex;
}
  	
if (answer == null || !answer.hasMoreElements())
{
          Log.debug("LdapManager: .... lookupExistence: DN not found.");
	return false;
}
else
{
	Log.debug("LdapManager: .... lookupExistence: DN found.");
	return true;
}
  }
 
开发者ID:coodeer,项目名称:g3server,代码行数:49,代码来源:LdapManager.java

示例6: createInitialDirContext

import javax.naming.directory.InitialDirContext; //导入方法依赖的package包/类
/**
 * Create InitialDirContext.
 *
 * @param server Server DNS name hosting LDAP service
 * @param port   Port at which server listens for requests
 * @throws InvalidAlgorithmParameterException if creation fails
 */
private void createInitialDirContext(String server, int port)
        throws InvalidAlgorithmParameterException {
    String url = "ldap://" + server + ":" + port;
    Hashtable<String,Object> env = new Hashtable<>();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
            "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, url);

    // If property is set to true, disable application resource file lookup.
    boolean disableAppResourceFiles = AccessController.doPrivileged(
        new GetBooleanAction(PROP_DISABLE_APP_RESOURCE_FILES));
    if (disableAppResourceFiles) {
        if (debug != null) {
            debug.println("LDAPCertStore disabling app resource files");
        }
        env.put("com.sun.naming.disable.app.resource.files", "true");
    }

    try {
        ctx = new InitialDirContext(env);
        /*
         * By default, follow referrals unless application has
         * overridden property in an application resource file.
         */
        Hashtable<?,?> currentEnv = ctx.getEnvironment();
        if (currentEnv.get(Context.REFERRAL) == null) {
            ctx.addToEnvironment(Context.REFERRAL, "follow");
        }
    } catch (NamingException e) {
        if (debug != null) {
            debug.println("LDAPCertStore.engineInit about to throw "
                + "InvalidAlgorithmParameterException");
            e.printStackTrace();
        }
        Exception ee = new InvalidAlgorithmParameterException
            ("unable to create InitialDirContext using supplied parameters");
        ee.initCause(e);
        throw (InvalidAlgorithmParameterException)ee;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:48,代码来源:LDAPCertStore.java

示例7: createInitialDirContext

import javax.naming.directory.InitialDirContext; //导入方法依赖的package包/类
/**
 * Create InitialDirContext.
 *
 * @param server Server DNS name hosting LDAP service
 * @param port   Port at which server listens for requests
 * @throws InvalidAlgorithmParameterException if creation fails
 */
private void createInitialDirContext(String server, int port)
        throws InvalidAlgorithmParameterException {
    String url = "ldap://" + server + ":" + port;
    Hashtable<String,Object> env = new Hashtable<>();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
            "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, url);

    // If property is set to true, disable application resource file lookup.
    boolean disableAppResourceFiles = AccessController.doPrivileged(
        new GetBooleanAction(PROP_DISABLE_APP_RESOURCE_FILES));
    if (disableAppResourceFiles) {
        if (debug != null) {
            debug.println("LDAPCertStore disabling app resource files");
        }
        env.put("com.sun.naming.disable.app.resource.files", "true");
    }

    try {
        ctx = new InitialDirContext(env);
        /*
         * By default, follow referrals unless application has
         * overridden property in an application resource file.
         */
        Hashtable<?,?> currentEnv = ctx.getEnvironment();
        if (currentEnv.get(Context.REFERRAL) == null) {
            ctx.addToEnvironment(Context.REFERRAL, "follow-scheme");
        }
    } catch (NamingException e) {
        if (debug != null) {
            debug.println("LDAPCertStore.engineInit about to throw "
                + "InvalidAlgorithmParameterException");
            e.printStackTrace();
        }
        Exception ee = new InvalidAlgorithmParameterException
            ("unable to create InitialDirContext using supplied parameters");
        ee.initCause(e);
        throw (InvalidAlgorithmParameterException)ee;
    }
}
 
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:48,代码来源:LDAPCertStore.java

示例8: testAddToEnvironment

import javax.naming.directory.InitialDirContext; //导入方法依赖的package包/类
public void testAddToEnvironment() throws Exception {
    server.setResponseSeq(new LdapMessage[] { new LdapMessage(
            LdapASN1Constant.OP_BIND_RESPONSE, new BindResponse(), null) });

    assertNull(env.get(Context.REFERRAL));

    InitialDirContext initialDirContext = new InitialDirContext(env);

    // Context.REFERRAL changed doesn't cause re-bind operation
    initialDirContext.addToEnvironment(Context.REFERRAL, "ignore");

    assertEquals("ignore", initialDirContext.getEnvironment().get(
            Context.REFERRAL));

    server.setResponseSeq(new LdapMessage[] { new LdapMessage(
            LdapASN1Constant.OP_DEL_RESPONSE, new EncodableLdapResult(),
            null) });

    initialDirContext.destroySubcontext("cn=test");

    /*
     * Context.SECURITY_AUTHENTICATION will case re-bind when invoke context
     * methods at first time
     */
    Object preValue = initialDirContext.addToEnvironment(
            Context.SECURITY_AUTHENTICATION, "none");
    assertFalse("none".equals(preValue));

    server.setResponseSeq(new LdapMessage[] {
            new LdapMessage(LdapASN1Constant.OP_BIND_RESPONSE,
                    new BindResponse(), null),
            new LdapMessage(LdapASN1Constant.OP_SEARCH_RESULT_DONE,
                    new EncodableLdapResult(), null) });

    initialDirContext.lookup("");

    preValue = initialDirContext.addToEnvironment(
            Context.SECURITY_AUTHENTICATION, "simple");
    assertFalse("simple".equals(preValue));

    // initialDirContext is shared connection, will create new connection
    server = new MockLdapServer(server);
    server.start();
    server.setResponseSeq(new LdapMessage[] {
            new LdapMessage(LdapASN1Constant.OP_BIND_RESPONSE,
                    new BindResponse(), null),
            new LdapMessage(LdapASN1Constant.OP_SEARCH_RESULT_DONE,
                    new EncodableLdapResult(), null) });

    initialDirContext.lookup("");

}
 
开发者ID:shannah,项目名称:cn1,代码行数:53,代码来源:LdapContextServerMockedTest.java

示例9: createInitialDirContext

import javax.naming.directory.InitialDirContext; //导入方法依赖的package包/类
/**
 * Create InitialDirContext.
 *
 * @param server Server DNS name hosting LDAP service
 * @param port   Port at which server listens for requests
 * @throws InvalidAlgorithmParameterException if creation fails
 */
private void createInitialDirContext(String server, int port)
        throws InvalidAlgorithmParameterException {
    String url = "ldap://" + server + ":" + port;
    Hashtable<String,Object> env = new Hashtable<String,Object>();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
            "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, url);

    // If property is set to true, disable application resource file lookup.
    boolean disableAppResourceFiles = AccessController.doPrivileged(
        new GetBooleanAction(PROP_DISABLE_APP_RESOURCE_FILES));
    if (disableAppResourceFiles) {
        if (debug != null) {
            debug.println("LDAPCertStore disabling app resource files");
        }
        env.put("com.sun.naming.disable.app.resource.files", "true");
    }

    try {
        ctx = new InitialDirContext(env);
        /*
         * By default, follow referrals unless application has
         * overridden property in an application resource file.
         */
        Hashtable<?,?> currentEnv = ctx.getEnvironment();
        if (currentEnv.get(Context.REFERRAL) == null) {
            ctx.addToEnvironment(Context.REFERRAL, "follow");
        }
    } catch (NamingException e) {
        if (debug != null) {
            debug.println("LDAPCertStore.engineInit about to throw "
                + "InvalidAlgorithmParameterException");
            e.printStackTrace();
        }
        Exception ee = new InvalidAlgorithmParameterException
            ("unable to create InitialDirContext using supplied parameters");
        ee.initCause(e);
        throw (InvalidAlgorithmParameterException)ee;
    }
}
 
开发者ID:greghaskins,项目名称:openjdk-jdk7u-jdk,代码行数:48,代码来源:LDAPCertStore.java


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