public interface LdapContext extends DirContext
有两种类型的请求控制:
除非显式限定,“请求控制”一词是指上下文请求控件。
与环境属性不同的是,上下文实例的请求控件不是由来自它的上下文实例继承的。派生上下文实例有null作为上下文请求控制。你必须设置一个派生上下文实例显式使用setRequestControls()请求控制。
一个上下文实例的要求控制所使用的方法getRequestControls()检索。
类似的环境属性,上下文的连接请求控件是由来自它的上下文继承的。通常,你初始化连接请求的控件使用InitialLdapContext构造函数或LdapReferralContext.getReferralContext()。这些连接请求控件都是由共享相同的连接的上下文继承的,也就是说,上下文来自于初始或转介上下文。
使用reconnect()改变上下文的连接请求的控制。调用ldapContext.reconnect()影响只有ldapContext,来自ldapContext任何新的环境情况下使用的连接。以前同ldapContext连接上下文保持不变。也就是说,上下文的连接请求控件必须显式更改,并且不会受另一个上下文的连接请求控件的更改的影响。
一个上下文实例的连接请求的控件使用方法getConnectControls()检索。
| Modifier and Type | Field and Description |
|---|---|
static String |
CONTROL_FACTORIES
保持用于指定控件工厂列表的环境属性的名称的常量。
|
ADD_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| Modifier and Type | Method and Description |
|---|---|
ExtendedResponse |
extendedOperation(ExtendedRequest request)
执行扩展操作。
|
Control[] |
getConnectControls()
检索此上下文的效果的连接请求控件。
|
Control[] |
getRequestControls()
检索此上下文的效果的请求控件。
|
Control[] |
getResponseControls()
检索在此上下文中调用的最后一个方法的结果所产生的响应控件。
|
LdapContext |
newInstance(Control[] requestControls)
使用请求控件创建此上下文的一个新实例。
|
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, getEnvironment, getNameInNamespace, getNameParser, getNameParser, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbindstatic final String CONTROL_FACTORIES
该常数的值是“java。命名。工厂。”。
ExtendedResponse extendedOperation(ExtendedRequest request) throws NamingException
request -非空的请求被执行。
NamingException -如果在进行扩展操作时发生错误。
LdapContext newInstance(Control[] requestControls) throws NamingException
新的上下文具有相同的环境属性和连接请求控件作为此上下文。查看详细的类描述。实现也可能允许这种情况下,新的上下文来共享相同的网络连接或其他资源,如果这样做不妨碍任何上下文的独立性。
requestControls -可能的空请求的控件使用的新语境。如果为零,则在没有请求控件的上下文中初始化。
NamingException -如果在创建新实例时出错。
InitialLdapContext
void reconnect(Control[] connCtls) throws NamingException
该方法是一种显式初始化一个LDAP绑定操作。例如,可以使用此方法为LDAP绑定操作请求的控件,或显式地连接到服务器获得响应的控制由LDAP绑定操作返回。
该方法设置这方面的connCtls是其新的连接请求的控制。此上下文的上下文请求控件不受影响。这种方法被调用后,任何后续的隐式重新将使用connCtls。connCtls也作为连接请求控制新上下文实例来自这个背景。这些连接请求的控制不受setRequestControls()。
服务提供商的用户应该阅读的实现细节的类描述的“服务提供者”部分。
connCtls -使用可能的空控制。如果为空,则没有使用控件。
NamingException -如果在连接时发生了一个错误。
getConnectControls(),
newInstance(javax.naming.ldap.Control[])
Control[] getConnectControls() throws NamingException
NamingException获取请求控制。
void setRequestControls(Control[] requestControls) throws NamingException
这将删除任何以前的要求控制和增加requestControls用于后续调用的方法在这方面。此方法不影响此上下文的连接请求控制。
注意,requestControls将生效,直到下一个调用setRequestControls()。你需要显式调用setRequestControls()与null或清除控制空数组如果你不想让他们影响到上下文的方法更多。检查此语境效果要求什么是控制,使用getRequestControls()。
requestControls -使用可能的空控制。如果为空,则没有使用控件。
NamingException -如果出错而设置的要求控制。
getRequestControls()
Control[] getRequestControls() throws NamingException
NamingException获取请求控制。
setRequestControls(javax.naming.ldap.Control[])
Control[] getResponseControls() throws NamingException
这些响应控件可能是由一个成功的或失败的操作产生的。
当调用可能返回响应控件的上下文方法时,清除以前的方法调用的响应控件。getResponseControls()返回所有响应控件从LDAP服务器接收LDAP操作的顺序的方法产生的背景。调用getResponseControls()不明确响应控制。您可以调用它多次(并返回相同的控件),直到调用可能返回控件的下一个上下文方法为止。
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.