java - 使用 UnboundID LDAP SDK api 的 Java 问题(带参数调用方法)
问题描述
我正在为我的 LDAP 服务器使用 UnboundID LDAP SDK。我做了一个连接方法。
public static LDAPConnection connectSDK(String ip, Integer port, String id, String pw) throws LDAPException {
LDAPConnection ldap = new LDAPConnection(ip,port,id,pw);
System.out.println("success");
return ldap;
}
在我的主要方法中,我用参数调用这个方法,它工作正常。
public static void main(String[] args) throws LDAPException {
connectSDK("192.168.0.60",389,"******","*****");
}
我想更进一步。我制作了一种使用过滤器搜索数据的方法。
public static void searchSDK(String filter) throws LDAPException {
LDAPConnection ldap = connectSDK();
/* Before calling a method with parameter, I used to connect with this,
and use 'ldap' variable to put search results.
Now, I am using a method with parameters.
I don't know what to do with 'ldap' variable.
If I delete it, 'SearchRequest' doesn't run.
Also how can I continue to use the connection from connectSDK method? */
SearchRequest searchRequest = new SearchRequest("c=kr",SearchScope.SUB,filter);
SearchResult searchResult = ldap.search(searchRequest);
System.out.println(searchResult);
}
最终,我想在我的 main 中调用其中两个方法,如下所示。
public static void main(String[] args) throws LDAPException {
//connect
connectSDK("192.168.0.60",389,"*****","******");
//search using a filter
searchSDK("hotdog");
}
我想在我的 searchSDK() 方法中得到建议。
*1) 如何使用创建的会话 connectSDK 方法
*2) 如何处理 'ldap' 变量。
*3) ldap.close() 我想在之后关闭会话,但是这种方法不起作用。还有其他方法吗?
解决方案
您的代码中没有这样的方法LDAPConnection ldap = connectSDK();
AsconnectSDK(String ip, Integer port, String id, String pw)
返回 aLDAPConnection
然后将其作为参数传入并从中searchSDK
删除。connectSDK()
修改代码为
public static void searchSDK(String filter, LDAPConnection ldap) throws LDAPException {
// LDAPConnection ldap = connectSDK();
....
}
所以你的主要看起来像
LDAPConnection ldap = connectSDK("192.168.0.60",389,"*****","******");
//search using a filter
searchSDK("hotdog", ldap);
推荐阅读
- r - 计算行中多个值的总和
- javascript - 如何在使用延迟加载的页面加载时使 jQuery 代码工作
- node.js - 使用 aws lambda 函数将 cloudwatch 日志推送到 s3
- vue.js - 使用 vue.js 在 v-for 中切换表单
- java - 可变参数和 for 循环的减法和除法运算
- node.js - Node js App显示文件夹文件
- c++ - 打开 C++ 故障转储不会在调用堆栈中显示正确的行
- java - 通过视频 url 上传 youtube 数据 api
- twitter-bootstrap - 表格水平不起作用
- google-apps-script - 在客户端验证 textInput 小部件 - Gmail 添加