公司内网系统多,如果每个系统都有独立的登录账号,那公司领导可能会有意见,为解决账号过多的这种情况,登录方式可以采用域验证,这里分享一下python通过ldap3进行域验证和账号同步。
首先通过pip下载ldap3
pip install ldap3
将域中信息同步到数据库,上代码
from ldap3 import Server, Connection, ALL, SUBTREE, ServerPool
import MySQLdb
import re
import datetime
LDAP_SERVER_POOL = ['xx.xx.xx.xx'] #域控服务器ip地址
LDAP_SERVER_PORT = 389 #端口
ADMIN_DN = 'xxx@xxx.xx' #拥有查询权限的域账号
ADMIN_PASSWORD = 'xxxxx' #对应的密码
SEARCH_BASE = 'ou=组织名称,dc=xxx,dc=xx'
def connect_sql():
db = MySQLdb.connect('localhost', 'root', 'password', 'databasename',
charset='utf8')
return db
def ldap_sync():
ldap_server_pool = ServerPool(LDAP_SERVER_POOL)
conn = Connection(ldap_server_pool, user=ADMIN_DN, password=ADMIN_PASSWORD,
check_names=True, lazy=False, raise_exceptions=False)
conn.open()
conn.bind()
res = conn.search(
search_base = SEARCH_BAS

本文介绍了如何使用Python的ldap3库进行域验证和账号同步操作。首先通过pip安装ldap3库,然后展示将域信息同步到数据库的简单代码示例,以及根据需求调整SQL语句。接着解释了域验证的三个步骤,包括使用具有查询权限的域账号登录,查询用户dn,最后用dn和密码进行连接验证。提供了具体的Python代码片段供参考。

1400

被折叠的 条评论
为什么被折叠?



