Odoo 连接ldap 域认证

news/2024/11/5 7:33:18/文章来源:https://www.cnblogs.com/jackadam/p/18527095

 附一个验证ldap的python代码。

import socket
from ldap3 import Server, Connection, ALLdef is_port_open(host, port):"""检查远程主机的指定端口是否开放:param host: 远程主机地址:param port: 要检查的端口号:return: 端口开放返回True,否则返回False"""try:with socket.create_connection((host, port), timeout=5) as sock:return Trueexcept (socket.timeout, ConnectionRefusedError):return Falsedef 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 Trueelse:print(f"LDAP服务验证失败: {conn.result}")return Falseexcept Exception as e:print(f"LDAP服务验证失败: {e}")return Falseif __name__ == "__main__":ldap_host = "192.168.2.51"ldap_port = 389ldap_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} 未开放")

 

注意:

公司是选的,不是建的

模板用户也是选的,如果没有模板用户,要新建。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/826996.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记从 dotnet framework 4.8 升级到 4.8.1 时运行的 dotnet remoting 程序出现空异常

本文记录一个奇怪的坑,某台用户设备从 .NET Framework 4.8 更新到 .NET Framework 4.8.1 时,所运行的 .NET Remoting 程序出现了奇怪的空异常。且重启之后不复现错误堆栈如下 System.NullReferenceException:“Object reference not set to an instance of an object.”在 Sy…

读取麒麟系统的各项版本信息

本文将记录读取麒麟系统的各项版本信息系统通用 $ uname -a Linux lindexi-pc 5.4.18-116-generic #105-KYLINOS SMP Fri Jun 21 14:09:22 UTC 2024 loongarch64 loongarch64 loongarch64 GNU/Linux$ uname -r 5.4.18-116-generic$ cat /etc/os-release NAME="Kylin"…

读数据工程之道:设计和构建健壮的数据系统28数据服务常见关注点

数据服务的常见关注点1. 使用场景 1.1. 为分析和BI,也就是统计分析、报表和仪表板提供数据服务1.1.1. 是数据服务最为常见的目标1.1.2. 这些概念的提出早于IT和数据库,但是它们对于了解业务、组织和财务流程的利益相关者来说仍然至关重要1…

RHEL9.4安装knock配置ssh

日期:2024.11.3 目的:RHEL9这台物理机打算实现两种登录方式,root只能基于key认证登录;另外一个账户可以用账号密码登录,但是登录端口不开放,通过安装knock server,顺序敲击预设的端口,才开这个能够用账号密码登录的端口。 参照:鸟哥Linux私房菜 https://linux.vbird.o…

基于Chappie-II的二次开发日志-2

紧接着上一次没做完的继续,完善settings页面功能,实现过程中顺便完善了WiFi连接和时间同步。紧接着上一次没做完的继续,完善settings页面功能,实现过程中顺便完善了WiFi连接和时间同步。 本文主要包括:Settings菜单完善多级菜单和sidebar lvgl表格 文本和滚动Esp32的smart…

给 Ollama 穿上 GPT 的外衣

上一篇我们介绍了如何在本地部署 ollama 运行 llama3 大模型。过程是相当简单的。但是现在给大模型交流只能在命令行窗口进行。这样的话就只能你自己玩了。独乐乐不如众乐乐嘛。我们接下来说一下如何部署 open-webui 给 ollama 加一个 webui,这样用户就可以通过浏览器访问我们…

18. 使用MySQL之全文本搜索

1. 理解全文本搜索 注意:并非所有引擎都支持全文本搜索: 正如第21章所述,MySQL支持几种基本的数据库引擎。并非所有的引擎都支持这里所描述的全文本搜索。 两个最常使用的引擎为MyISAM和InnoDB,前者支持全文本搜索,而后者不支持。这就是为什么虽然本书中创建的多数样例表使…

深入 Pod

kubectl 操作 Pod 的命令,探针以及 Pod 的生命周期。Author: ACatSmiling Since: 2024-11-05kubectl 命令 创建 Pod 方式一:使用配置文件创建。首先,需要创建一个 Pod 的配置文件(通常是.yaml或.yml格式)。例如,创建一个简单的 Nginx Pod 配置文件 nginx-pod.yaml: apiV…

数据结构-逻辑关系物理关系、时间复杂度、空间复杂度、顺序表

一、数据结构概述 基本概念 数据结构指的是计算机存储数据和组织数据的方式,存储数据和组织数据的目的是为了后期对数据的再次利用,所以存储的数据一般是具有一个或者多个特定关系的集合,利用不同的数据结构可以提高数据的访问效率。 思考:为什么大家来到新教室选好座位之后…

windows 消息断点

windows 消息循环 以下是一个简单的处理按钮点击的示例: #include <windows.h>#define BUTTON_ID 1 // 定义按钮IDLRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {switch (uMsg){case WM_CREATE:{// 创建一个按钮HWND hButton = Cr…

FindResource详解

#include <iostream> #include <Windows.h>int main() {// 获取当前模块的句柄HMODULE hModule = GetModuleHandle(NULL);HRSRC hRes = ::FindResource(hModule, MAKEINTRESOURCE(1), RT_MANIFEST);if (hRes == NULL) {std::cerr << "无法找到清单文件资…

11.4做洛谷深基到发疯记录

今日校队每日一题依然是不看题解就不…… 日,是题解都看不懂的一集 : ) 然后就去接着做洛谷深基的题了 当我做到P1098的时候还没意识到问题严重性 当我一看到如此复杂的情况分类的时候,以为只是写起来麻烦点罢了,遂敲 敲着敲着就感觉出来不对劲了,要是每种情况都分个类那if…