public class InitialLdapContext extends InitialDirContext implements LdapContext
详情请参阅同步javax.naming.InitialContext和javax.naming.InitialDirContext,和政策如何创建初始上下文。
请求控制提供到初始上下文构造函数不作为后续上下文操作如搜索和查找上下文请求控制。上下文请求控制的设置和使用setRequestControls()更新。
如图所示,可以有两组不同的请求控制与上下文有关:连接请求控制和上下文请求控制。这是为那些应用程序需要发送的关键控制,可能不适用于上下文运行任何隐含的LDAP绑定操作要求。一个典型的用户程序将做以下:
指定第一个创建初始上下文的关键控制( critConnCtls),然后设置情境的要求控制( critModCtls)的上下文中运行。如果因为某些原因 lctx需要连接到服务器,它将使用 critConnCtls。看到有关请求的控件的更多讨论的 LdapContext接口。InitialLdapContext lctx = new InitialLdapContext(env, critConnCtls); lctx.setRequestControls(critModCtls); lctx.modifyAttributes(name, mods); Controls[] respCtls = lctx.getResponseControls();
服务提供商的用户应该阅读实施细则LdapContext类描述的“服务提供者”部分。
defaultInitCtx, gotDefault, myPropsCONTROL_FACTORIESADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTEAPPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES| Constructor and Description |
|---|
InitialLdapContext()
使用没有环境属性或连接请求控件构造一个初始上下文。
|
InitialLdapContext(Hashtable<?,?> environment, Control[] connCtls)
使用环境属性和连接请求控件构造一个初始上下文。
|
| Modifier and Type | Method and Description |
|---|---|
ExtendedResponse |
extendedOperation(ExtendedRequest request)
执行扩展操作。
|
Control[] |
getConnectControls()
检索此上下文的效果的连接请求控件。
|
Control[] |
getRequestControls()
检索此上下文的效果的请求控件。
|
Control[] |
getResponseControls()
检索在此上下文中调用的最后一个方法的结果所产生的响应控件。
|
LdapContext |
newInstance(Control[] reqCtls)
使用请求控件创建此上下文的一个新实例。
|
void |
reconnect(Control[] connCtls)
重新连接到LDAP服务器使用提供的控件和这方面的环境。
|
void |
setRequestControls(Control[] requestControls)
设置随后在此上下文中调用的方法的请求控件。
|
bind, bind, createSubcontext, createSubcontext, getAttributes, getAttributes, getAttributes, getAttributes, getSchema, getSchema, getSchemaClassDefinition, getSchemaClassDefinition, modifyAttributes, modifyAttributes, modifyAttributes, modifyAttributes, rebind, rebind, search, search, search, search, search, search, search, searchaddToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, doLookup, doLookup, getDefaultInitCtx, getEnvironment, getNameInNamespace, getNameParser, getNameParser, getURLOrDefaultInitCtx, getURLOrDefaultInitCtx, init, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbindclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbind, bind, createSubcontext, createSubcontext, getAttributes, getAttributes, getAttributes, getAttributes, getSchema, getSchema, getSchemaClassDefinition, getSchemaClassDefinition, modifyAttributes, modifyAttributes, modifyAttributes, modifyAttributes, rebind, rebind, search, search, search, search, search, search, search, searchaddToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, getEnvironment, getNameInNamespace, getNameParser, getNameParser, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbindpublic InitialLdapContext()
throws NamingException
NamingException -如果遇到一个命名的例外
public InitialLdapContext(Hashtable<?,?> environment, Control[] connCtls) throws NamingException
此构造函数不会修改它的参数或保存对它们的引用,但可以保存一个克隆或复制。人不应该修改的键和值在environment在它被传递给构造函数。
connCtls作为底层上下文实例的连接请求的控制。查看详细的类描述。
environment环境用于创建初始DirContext。空表示一个空的环境。
connCtls连接请求控制初始上下文。如果为空,则使用没有连接请求控件。
NamingException -如果遇到一个命名的例外
reconnect(javax.naming.ldap.Control[]),
LdapContext.reconnect(javax.naming.ldap.Control[])
public ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException
LdapContext
extendedOperation 接口
LdapContext
request -非空的请求被执行。
NamingException -如果在进行扩展操作时发生错误。
public LdapContext newInstance(Control[] reqCtls) throws NamingException
LdapContext
新的上下文具有相同的环境属性和连接请求控件作为此上下文。查看详细的类描述。实现也可能允许这种情况下,新的上下文来共享相同的网络连接或其他资源,如果这样做不妨碍任何上下文的独立性。
newInstance 接口
LdapContext
reqCtls -可能的空请求的控件使用的新语境。如果为零,则在没有请求控件的上下文中初始化。
NamingException -如果在创建新实例时出错。
InitialLdapContext
public void reconnect(Control[] connCtls) throws NamingException
LdapContext
该方法是一种显式初始化一个LDAP绑定操作。例如,可以使用此方法为LDAP绑定操作请求的控件,或显式地连接到服务器获得响应的控制由LDAP绑定操作返回。
该方法设置这方面的connCtls是其新的连接请求的控制。此上下文的上下文请求控件不受影响。这种方法被调用后,任何后续的隐式重新将使用connCtls。connCtls也作为连接请求控制新上下文实例来自这个背景。这些连接请求的控制不受setRequestControls()。
服务提供商的用户应该阅读的实现细节的类描述的“服务提供者”部分。
reconnect 接口
LdapContext
connCtls -使用可能的空控制。如果为空,则没有使用控件。
NamingException -如果在连接时发生了一个错误。
LdapContext.getConnectControls(),
LdapContext.newInstance(javax.naming.ldap.Control[])
public Control[] getConnectControls() throws NamingException
LdapContext
getConnectControls 接口
LdapContext
NamingException获取请求控制。
public void setRequestControls(Control[] requestControls) throws NamingException
LdapContext
这将删除任何以前的要求控制和增加requestControls用于后续调用的方法在这方面。此方法不影响此上下文的连接请求控制。
注意,requestControls将生效,直到下一个调用setRequestControls()。你需要显式调用setRequestControls()与null或清除控制空数组如果你不想让他们影响到上下文的方法更多。检查此语境效果要求什么是控制,使用getRequestControls()。
setRequestControls 接口
LdapContext
requestControls -使用可能的空控制。如果为空,则没有使用控件。
NamingException -如果出错而设置的要求控制。
LdapContext.getRequestControls()
public Control[] getRequestControls() throws NamingException
LdapContext
getRequestControls 接口
LdapContext
NamingException获取请求控制。
LdapContext.setRequestControls(javax.naming.ldap.Control[])
public Control[] getResponseControls() throws NamingException
LdapContext
这些响应控件可能是由一个成功的或失败的操作产生的。
当调用可能返回响应控件的上下文方法时,清除以前的方法调用的响应控件。getResponseControls()返回所有响应控件从LDAP服务器接收LDAP操作的顺序的方法产生的背景。调用getResponseControls()不明确响应控制。您可以调用它多次(并返回相同的控件),直到调用可能返回控件的下一个上下文方法为止。
getResponseControls 接口
LdapContext
NamingException如果发生错误而得到的响应控制。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.