public String auth(String userName, String pwd) {
String failMsg;
failMsg = "连接LDAP认证 失败";
loginDN = "cn=" + userName + baseDN;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
LDAPConnection lc = new LDAPConnection();
try {
lc.connect(host, ldapport);
} catch (LDAPException e) {
log.error("连接ldap服务器失败:"+host+":"+ldapport);
log.error(e.toString(), e);
return failMsg;
}
try {
lc.bind(ldapVersion, loginDN, pwd.trim().getBytes());
return "ok";
} catch (Exception e) {
log.error("连接ldap服务器成功但用户组:"+loginDN+"没有连接成功!测试第二个连接配置!");
loginDN = "";
try {
loginDN="cn=" + userName + baseDN2;
lc.bind(ldapVersion, loginDN, pwd.trim().getBytes());
return "ok";
} catch (Exception e1) {
log.error("连接ldap服务器成功但用户组:"+loginDN+"没有连接成功!");
}
return failMsg;
}
}
红字部分要是没有的话,会因为没有给返回值,导致输出的默认返回值。
导致一直链接不通。(记住了。一个return 引发的血案那。。。我怎么那么迷糊呢?)
String failMsg;
failMsg = "连接LDAP认证 失败";
loginDN = "cn=" + userName + baseDN;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
LDAPConnection lc = new LDAPConnection();
try {
lc.connect(host, ldapport);
} catch (LDAPException e) {
log.error("连接ldap服务器失败:"+host+":"+ldapport);
log.error(e.toString(), e);
return failMsg;
}
try {
lc.bind(ldapVersion, loginDN, pwd.trim().getBytes());
return "ok";
} catch (Exception e) {
log.error("连接ldap服务器成功但用户组:"+loginDN+"没有连接成功!测试第二个连接配置!");
loginDN = "";
try {
loginDN="cn=" + userName + baseDN2;
lc.bind(ldapVersion, loginDN, pwd.trim().getBytes());
return "ok";
} catch (Exception e1) {
log.error("连接ldap服务器成功但用户组:"+loginDN+"没有连接成功!");
}
return failMsg;
}
}
红字部分要是没有的话,会因为没有给返回值,导致输出的默认返回值。
导致一直链接不通。(记住了。一个return 引发的血案那。。。我怎么那么迷糊呢?)
发表评论
-
一个故事讲清楚NIO(转载)
2015-10-22 11:32 658假设某银行只有10个职 ... -
struts2动态生成zip文件并下载
2013-10-18 14:55 950功能:zip文件下载 简述: 1.根据画面上的复选框进行文 ... -
如何远程连接db2数据库
2012-09-18 10:10 960在DB2数据库中,编目(catal ... -
[转]DB2行列转换
2012-09-13 13:15 872行转列 给出下面的数据: CREATE TABLE Sales ... -
存储过程 入门
2012-09-07 09:49 898示例说明:先创建一个临时表,并插入数据,然后查询临时表,返回游 ... -
ue使用的一些小技巧
2012-09-05 11:36 12621. UE里面替换tab键为空格 解决使用UE编辑好 ... -
ext tree 更改图标
2012-04-16 23:11 1698如果在Java代码中树的Node不设置cls的话,Extjs ... -
js六种数据类型和var
2012-04-13 14:32 1253JavaScript 有六种数据类 ... -
ExtJs 控制复选框disabled
2012-04-13 14:12 2930var csm2 = new Ext.grid.Checkbo ... -
JS 四舍五入
2012-04-10 23:36 959写法巨强的四舍五入的转换函数,如下: function ro ... -
Ext el属性
2012-04-10 23:08 883这个是你要将你的组件渲染到哪个div 比如有个<div ... -
getOutputStream() has already been called for this response
2012-04-06 17:33 982getOutputStream() has al ... -
修改TOMCAT(5.5版本前)内存的方法
2012-03-30 11:34 1106Tomcat默认可以使用的内 ... -
oracle 常用sql
2012-03-27 10:49 854--创建用户 CREATE USER &q ... -
两台windows服务器----SVN的迁移
2012-03-26 17:27 1157两台服务器,进行SVN的迁移: 系统平台:windows se ... -
hibernate 延迟加载
2012-03-23 18:06 784延迟加载机制是为了避 ... -
poi 操作excel
2012-03-19 21:52 1172本篇面向对象为Java的初 ... -
Oracle Minus关键字
2012-03-06 15:56 1149//--一句话 去同存异,留第一个sql里面的结果。 //创建 ... -
闪回 找回已删除的数据
2012-02-24 15:26 826SCN(系统改变号),它的英文全拼为:System Chang ... -
orcl用sql生成xml
2012-02-20 19:03 1032最近做项目,需要提供xml字符串给第三方,之后我试了试这两种数 ...
相关推荐
`python-ldap`是一个纯Python模块,它实现了LDAPv3协议,支持搜索、绑定、修改、添加、删除等操作。在Python中使用`python-ldap`,首先需要安装相应的库,如压缩包中的`python-ldap-2.4.4.win32-py2.6.msi`等文件,...
标题 "ldap 访问AD测试" 暗示了我们正在讨论如何使用Lightweight Directory Access Protocol (LDAP) 来连接并操作Active Directory (AD) 架构。在IT环境中,AD是一个重要的服务,用于集中管理用户账户、权限和网络...
在描述中提到的"change_ldap_pwd.zip"是一个压缩包,可能包含了实现这个功能的编程源代码。这个压缩包内有两个文件:change_ldap_pwd.doc可能是文档形式的说明,详细解释了代码的工作原理和使用方法;而...
1. **导入工具**:该软件支持LDAP数据的导入和导出,这使得用户能够方便地将数据从一个LDAP服务器迁移到另一个,或者与不同格式的数据源进行集成。 2. **快速链接**:通过提供一键连接功能,用户可以迅速访问预定义...
标题 "LdapAdmin_yanwang.rar" 暗示了我们正在讨论一个关于LDAP管理工具的压缩文件,可能是一个名为"LdapAdmin"的客户端软件,由用户"yanwang"分享。描述提到,这个客户端能够成功地连接到LDAP服务器,并且对于那些...
4. LDAP连接配置:用户可以轻松设置和保存多个LDAP服务器连接,以便快速切换和测试不同环境。 5. 强大的搜索功能:提供高级查询构造器,支持过滤器和搜索操作,帮助用户定位和提取所需信息。 6. 审计和日志记录:...
首先,pyams_auth_ldap是PyPI上的一个Python库,它专注于将应用程序的身份验证服务与LDAP服务器集成。LDAP是一种标准的网络协议,用于存储和管理用户账户、组织结构和其他元数据。通过这个库,开发者可以轻松地连接...
总的来说,这样的系统设计充分利用了 LDAP 的身份验证能力以及 MOM 的高效通信机制,构建了一个既安全又高效的分布式会议环境。对于需要跨地域协作的大型组织来说,这种解决方案尤为有价值,因为它可以简化管理,...
例如,当用户在一个Girder实例上登录并通过LDAP验证后,其他实例也能识别这个用户的会话,提供一致的服务。 总结起来,girder-ldap-3.0.6.dev15是一个针对Girder平台的扩展,实现了与LDAP服务器的集成,为企业级...
`django-ldap3-sync`是专门为Django框架设计的一个用于与LDAP(轻量级目录访问协议)服务器进行数据同步的工具。在深入探讨这个库之前,我们需要了解一些基本概念。 **一、Django框架** Django是用Python编写的一款...
标题中的"ladp_admin工具"实际上是指`LdapAdmin`,这是一个专为OpenLDAP设计的管理工具。OpenLDAP是一款开源的LDAP服务器,广泛用于构建组织的用户身份和权限管理系统。`LdapAdmin`作为其配套的客户端工具,帮助管理...
【资源工具】在此分享一个HTTP文件传输服务器,这个工具的核心在于利用HTTP协议进行文件的上传与下载,HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它的设计目的是为了传输数据,并且使数据的传输...
**Prime8 LDAP Address Book** 是一个基于PHP的开源项目,专为管理企业级的全局LDAP(轻量级目录访问协议)通讯簿而设计。这款工具提供了直观且易于使用的Web界面,使得用户能够方便地查看、搜索和维护组织内部的...
这个FTP服务器程序提供了一个学习和实践FTP协议的良好平台,同时也可能适用于小型或个人用途的文件分享。然而,对于大型企业或高安全性的环境,通常会选用更成熟且经过广泛测试的FTP服务器软件,如ProFTPD、vsftpd或...
Confluence作为一个协作工具,允许团队成员创建、编辑和组织内容,同时提供了一个集中的知识库,促进信息的分享和团队之间的沟通。7.4版本在功能和性能上进行了优化,提供了更好的用户体验和更强大的管理选项。 二...
Phpldapadmin是一个开源项目,提供了一个图形化的界面,使非技术人员也能进行LDAP服务器的日常维护工作,如添加、删除和修改用户、组、OU(组织单元)等。它支持多种LDAP服务器,如OpenLDAP、Microsoft Active ...
OpenLDAP是一个开源的轻量级目录访问协议(Lightweight Directory Access Protocol, LDAP)实现,用于存储和管理网络中的用户、组织、设备等对象的信息。 **0、前言** 文档首先介绍了文档的版权信息,强调了其开源...
该博客文章链接指向的是ITEYE上的一个个人博客,作者XWL1990分享了关于CAS SSO的一些理解和实践。虽然具体内容无法在当前环境下查看,但我们可以根据一般CAS SSO的知识点进行深入探讨。 1. **CAS架构**:CAS通常由...
- CAM_AAA_JDBCSample可能是一个示例项目,展示了如何使用Java JDBC(Java Database Connectivity)连接到数据库进行身份验证。这通常涉及到编写自定义的认证模块,该模块会检查用户的凭据,并向Cognos返回验证结果...
《PyPI上的aws_cdk.aws_directoryservice-1.71.0-py3-none-any.whl...在云计算领域,这种将基础设施代码化的方法正在逐渐成为标准实践,对于希望在AWS上构建和管理复杂目录服务的开发者来说,这是一个不可或缺的工具。