Python3.6实现ldap的登录验证

python3通过ldap3库来处理ldap。至于怎么安装ldap3,就不作赘述了。

查过很多资料也看过官网文档,可能英文的还是没看透彻,解决问题后再去看官网,竟然透彻了很多,走过很多弯路,现在将解决方法加代码解说一下。

1.先附一下我用到的ldap结构图,个人根据自己的结构或属性不同,可对应更改相应字段。

如图所示,我的 ldap的基本搜索入口就是 'dc=***,dc=com',也就是你用管理员登录时需要写的入口(小铺垫,后面你普通用户和密码时也得有对应的搜索地址)。也可以看到ldap的加密方式是SSHA方式,当然这种方式,在后面也可以通过代码查询提现出来。在网上搜的很多方法是已经查询出密码,难点在于将我们手动输入的密码转化为SSHA加密或将查询的密码解密然后进行判断。这种方式我试过很多,结果都不对。然后又搜资料发现,只要正确输入对应的用户和密码,只要搜索入口对的话,Connection又bind后,有返回值就说明了是否用户名和密码是对的。话不多说,直接上代码。

from ldap3 import Server, Connection, SUBTREE, ALL

ldap_host = '你的地址'
ldap_port = 389
ldap_admin_user = '你的admin'
ldap_admin_password = '你的admin密码'
ldap_base_search = '
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值