當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。