Odoo 连接ldap 域认证
附一个验证ldap的python代码。
import socket from ldap3 import Server, Connection, ALL def is_port_open(host, port): """ 检查远程主机的指定端口是否开放 :param host: 远程主机地址 :param port: 要检查的端口号 :return: 端口开放返回True,否则返回False """ try: with socket.create_connection((host, port), timeout=5) as sock: return True except (socket.timeout, ConnectionRefusedError): return False def test_ldap_service(host, port, user, password): """ 使用ldap3库验证LDAP服务是否正常 :param host: LDAP服务器地址 :param port: LDAP服务器端口 :param user: 用户名 :param password: 密码 :return: 验证成功返回True,否则返回False """ try: server = Server(host, port=port, get_info=ALL) conn = Connection(server, user=user, password=password, auto_bind=False) # 尝试手动绑定 if conn.bind(): print("LDAP服务验证成功") return True else: print(f"LDAP服务验证失败: {conn.result}") return False except Exception as e: print(f"LDAP服务验证失败: {e}") return False if __name__ == "__main__": ldap_host = "192.168.2.51" ldap_port = 389 ldap_user = "cn=odooadmin,ou=LdapUsers,dc=wywr,dc=top" ldap_password = "***" # ldap_user = "cn=administrator,cn=users,dc=wywr,dc=top" # ldap_password = "***" # 检查端口是否开放 if is_port_open(ldap_host, ldap_port): print(f"LDAP端口 {ldap_port} 开放") # 验证LDAP服务 if test_ldap_service(ldap_host, ldap_port, ldap_user, ldap_password): print("LDAP服务正常") else: print("LDAP服务异常") else: print(f"LDAP端口 {ldap_port} 未开放")
注意:
公司是选的,不是建的
模板用户也是选的,如果没有模板用户,要新建。