Sea*_*oyd 1 java spring ldap spring-ldap
在Spring LDAP中使用LdapTemplate,我有这样的代码:
Object object=null;
try{
String dn = "cn=readers,ou=groups,dc=mycompany, dc=com";
object = this.ldapTemplate.lookup(dn);
} catch(final NameNotFoundException e){
// create Object
}
Run Code Online (Sandbox Code Playgroud)
但是因为我读过我的Joshua Bloch,我知道不应该将异常用于控制流程.有没有办法查找一个dn,看看它是否存在而不抛出异常,如果不存在?一定有,但我找不到.我正在寻找像这样(或类似)的代码:
String dn = "cn=readers,ou=groups,dc=mycompany, dc=com";
Object object=this.ldapTemplate.someMethod(dn);
if(object==null){
// create Object
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
BTW:只是看看JavaDoc无济于事.抛出的方法都没有NameNotFoundException在JavaDocs中说明.
lookup()只有当您确定DN存在时才应该使用该方法.这通常是因为您先前已搜索并找到了一个用户或组,并缓存了从服务器返回的DN.
如果您正在寻找可能存在或可能不存在的内容,请使用正确的API ldapTemplate.search(),并使用适当的过滤器.这将返回结果列表,如果未找到任何结果,则返回空列表而不是抛出异常.
| 归档时间: |
|
| 查看次数: |
7944 次 |
| 最近记录: |