本文整理汇总了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;
}
示例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;
}
}
示例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;
}
}
示例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
}
}
示例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;
}
}
示例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;
}
}
示例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;
}
}
示例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("");
}
示例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;
}
}