通过java.namming包实现LDAP用户登录认证,怎么区分账号被冻结、停用、不存在等异常的业务情况呢?

参考的是:网上普遍流传的LDAP连接的代码

public boolean auth(String username, String password) {

//设置相关常量

String initialContextFactory ="com.sun.jndi.ldap.LdapCtxFactory";

String ad4ProviderURL ="ldap://ip:port";

String securityAuthentication ="simple";

String domain ="ad4";

if (!username.startsWith(domain)) {

username = domain+"\"+ username;

}

/*

* 组织参数集合

*/

Hashtable env = new Hashtable();

//set the initializing information of the context

env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, initialContextFactory);

//set the URL of ldap server

env.put(javax.naming.Context.PROVIDER_URL, ad4ProviderURL);

//set the authentication mode

env.put(javax.naming.Context.SECURITY_AUTHENTICATION, securityAuthentication);

//set user of AD

env.put(javax.naming.Context.SECURITY_PRINCIPAL, username);

//set password of user

env.put(javax.naming.Context.SECURITY_CREDENTIALS, password);

/*

* 进行LDAP连接

*/

javax.naming.ldap.LdapContext ctx = null;

//initialize the ldap context

try {

ctx = new javax.naming.ldap.InitialLdapContext(env, null);

} catch (javax.naming.NamingException ex) {

System.out.println("Authentication error, username is:"+ username);

return false;

} finally {

if (ctx != null) {

try {

ctx.close();

} catch (javax.naming.NamingException ex) {

System.out.println("Close Authentication context error");

ex.printStackTrace();

}

return true;    //获取的LdapContext对象不为空,则为登录成功

}

}

return false;    //否则登录失败

}

java通过ldap添加用户后_ldap连接不上改用户_JAVA通过LDAP做用户登录认证,怎么做业务的异常处理?...相关推荐

  1. Mac 重启后,连接不上wifi

    如题:Mac 重启后,连接不上wifi 一直提醒输入密码,输入密码后一直连接不上- 然后拔了外界的USB 就好了,就好了...

  2. iPhone10.3.X越狱后SSH连接不上的问题(已解决)

    iPhone10.3.X越狱后SSH连接不上的问题 G0blin RC2,iPhone5s10.3.3  Jailbreak 最近研究了好几天,试了好多的方法. ssh 访问越狱iPhone的两种方式 ...

  3. 做完系统回来计算机连接不上网络,电脑重装系统后网络连接不上怎么处理

    1.检查网络线路连接和网卡是否良好. 2.安装网卡驱动.右击"我的电脑"----"属性"---"硬件"----"设备管理器&quo ...

  4. 6远程桌面连接不上_windows server2008 远程桌面 创建新用户和多用户登录

    1.怎么让Windows2012和Windows2008多用户同时远程 Windows2008和Windows2012服务器版本操作系统默认情况下只能支持一个用户远程.如果第二个人远程上去之后会直接把 ...

  5. kali linux学习——总结kali linux 开启ssh服务后仍连接不上的问题

    解决的思路与步骤 修改sshd_config文件 测试以下代码 更换清华镜像源 未解决的问题 网络连接的设置 由于是第一次学习kali Linux,所以在安装好软件后,就开始设置ssh,但是就是连不上 ...

  6. 黑苹果关机重启后蓝牙连接不上_手机要关机吗,要贴膜吗,要套壳吗?看完这条,都有答案了_政务_澎湃新闻...

    晚上习惯关机睡觉的朋友们在哪里? 举起你们的手让小布看看! 那么问题来了,你为啥要关机睡觉? 是担心手机"睡眠不足", 还是担心屏亮会让你忍不住地熬夜? 然而,有朋友认为手机应该每 ...

  7. 解决ppt里面添加flash后在其他电脑上不能播放的问题

    在网上也找了很多种方法,具体是哪个步骤弄好的都不知道,因为没有每次都重启电脑.同样是ppt2003,可能有的版本不用这种发法就能播放,看运气了,如果运气不佳,希望下面的方法可以帮到你. 下载了flas ...

  8. linux服务器重启后远程连接不上

    问题: 重启了阿里云的服务器,发现我的crt不能远程链接 报 The remote system refused the connection. 1.通过查看发现是sshd服务未能启动,于是启动 ss ...

  9. mysql启动后,连接不上,不显示3306端口

    vim /etc/my.cnf,注释掉下面两行内容,重启mysql就可以 #skip_networking #skip-grant-tables

最新文章

  1. 全國身份證查詢系統nciis
  2. 【C 语言】文件操作 ( 学生管理系统 | 插入数据 | 查询数据 | 删除数据 )
  3. 从零开始学习docker(九)持久化存储和数据共享之 Data Volume
  4. 学计算机,怎么入门?
  5. Ubuntu 16.04 LTS apt-get connect refuse Unable to connect to 127.0.0.1:1080
  6. 【转载】define与typedef区别与联系
  7. cmake字符串转数组_掌握常用的数据结构之数组和字符串
  8. linux里用户权限:~$,/$,~#,/#的区别与含义
  9. 正版Windows7 OEM初级版升级到各版本(Lenovo/ThinkPad/ThinkCentre品牌)的密钥
  10. 阿里云网站域名备案注销方法
  11. 数据库系统原理与应用教程(031)—— MySQL 的数据完整性(四):定义外键(FOREIGN KEY)
  12. Android Studio连接夜神nox模拟器
  13. mvp的全称_打游戏抢了这么久的MVP,你竟不知道MVP的全称和由来?
  14. 将Windows电脑上的浏览器书签同步至iPad中的Safari
  15. power-virus
  16. L1-051 打折 (5 分) pta天梯赛 详解
  17. 被“忽略”的云巨头:天翼云营收三位增长从何而来? | 看财报
  18. Android高精战争(MVC、MVP、MVVM)
  19. 银河麒麟、中标麒麟学习实操资料汇总(含V4、V7、V10)
  20. Python3全面基础学习

热门文章

  1. 显著性目标检测matlab代码_显著性目标检测代码全汇总!(包含2D、3D、4D以及Video)...
  2. 一线城市数据分析师的薪资分布......
  3. 介绍一个好用的静态图片合成为 gif 动画的在线网站
  4. SAP Spartacus 中的 checkout(结帐) 设计
  5. 使用 Visual Studio Code SQLite 扩展来浏览 SAP Cloud Application Programming 数据库
  6. SAP Spartacus里的localStorage用法
  7. SAP Spartacus由于导入module路径在服务器上不正确而导致的Travis build错误
  8. Angular structural指令host element的定位调试
  9. 使用SAP云平台Android SDK创建Mobile应用
  10. when is this.oModel in sap-ui-core.js initialized for navigation working case