archer配置LDAP

archer是一个不错的开源的SQL自动化操作平台,基于inception,支持工单、审核、定时任务、邮件、OSC等功能,还可配置MySQL查询、慢查询管理、会话管理等。

社区由作者(https://github.com/jly8866/archer/)开发,@小圈圈一直负责docker镜像的更新,感谢两位和社区。

下边说一下怎么配置LDAP。

配置LDAP主要在settings.py里,样例代码:

# LDAP
ENABLE_LDAP = True
if ENABLE_LDAP:
    import ldap
    # from django_auth_ldap.config import LDAPSearch, GroupOfNamesType
    from django_auth_ldap.config import LDAPSearch, GroupOfUniqueNamesType

    AUTHENTICATION_BACKENDS = (
        'django_auth_ldap.backend.LDAPBackend',  # 配置为先使用LDAP认证,如通过认证则不再使用后面的认证方式
        'django.contrib.auth.backends.ModelBackend',  # sso系统中手动创建的用户也可使用,优先级靠后。注意这2行的顺序
    )

    # if use self signed certificate, Remove AUTH_LDAP_GLOBAL_OPTIONS annotations
    # AUTH_LDAP_GLOBAL_OPTIONS={
    #    ldap.OPT_X_TLS_REQUIRE_CERT: ldap.OPT_X_TLS_NEVER
    # }

    AUTH_LDAP_BIND_DN = "cn=Manager,dc=example,dc=net"
    AUTH_LDAP_BIND_PASSWORD = "password"
    AUTH_LDAP_SERVER_URI = "ldap://ldap.example.net:389"
    AUTH_LDAP_BASEDN = "ou=技术中心,ou=People,dc=example,dc=net"
    AUTH_LDAP_USER_DN_TEMPLATE = "cn=%(user)s,ou=技术中心,ou=People,dc=example,dc=net"
    AUTH_LDAP_GROUP_SEARCH = LDAPSearch("ou=技术中心,ou=People,dc=example,dc=net",
                                        ldap.SCOPE_SUBTREE, "(objectClass=groupOfUniqueNames)"
                                        )
    AUTH_LDAP_GROUP_TYPE = GroupOfUniqueNamesType()
    AUTH_LDAP_ALWAYS_UPDATE_USER = True  # 每次登录从ldap同步用户信息
    AUTH_LDAP_USER_ATTR_MAP = {  # key为archer.sql_users字段名,value为ldap中字段名,用于同步用户信息
        "username": "cn",
        "display": "displayName",
        "email": "mail"
    }

    # AUTH_LDAP_MIRROR_GROUPS = True  # 直接把ldap的组复制到django一份,和AUTH_LDAP_FIND_GROUP_PERMS互斥.用户每次登录会根据ldap来更新数据库的组关系
    AUTH_LDAP_FIND_GROUP_PERMS = True  # django从ldap的组权限中获取权限,这种方式,django自身不创建组,每次请求都调用ldap
    AUTH_LDAP_CACHE_GROUPS = True  # 如打开FIND_GROUP_PERMS后,此配置生效,对组关系进行缓存,不用每次请求都调用ldap
    AUTH_LDAP_GROUP_CACHE_TIMEOUT = 600  # 缓存时间

 

我要来的LDAP配置信息如下

http://ldap.example.net/ldapadmin/
cn=Manager,dc=example,dc=net
password
ou=技术中心,ou=People,dc=example,dc=net
ou=Group,dc=example,dc

 

配置步骤

首先把ENABLE_LDAP改为True,意为开启LDAP登录;

AUTH_LDAP_BIND_DN设置为cn=Manager,dc=example,dc=net,相当于archer连接LDAP的账号,这里给了管理员账号

AUTH_LDAP_BIND_PASSWORD密码

AUTH_LDAP_SERVER_URI是服务器地址,有域名写域名,没域名写IP,记得后边冒号跟端口

AUTH_LDAP_BASEDN是默认的路径,全员都在里边的LDAP路径

AUTH_LDAP_USER_DN_TEMPLATE是用户账号模板,设置为cn=%(user)s,后接AUTH_LDAP_BASEDN即可

AUTH_LDAP_GROUP_SEARCH组搜索,设置为AUTH_LDAP_BASEDN即可

AUTH_LDAP_USER_ATTR_MAP里的三个值是archer映射ldap数据的字段,我这个版本的ldap是上边的,具体的可以登录ldap admin查看自己的属性字段

最下边的四个选项默认即可

 

配置好以后重启gunicorn,然后尝试使用LDAP账号登录,看日志报什么错,根据提示调试好即可。

 

转载于:https://www.cnblogs.com/chenminklutz/p/9642277.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Archer开发手册》是一本为了帮助初学者和有一定经验的开发者更好地使用和了解Archer开发框架的指南手册。Archer开发框架是一个功能强大且灵活的工具,用于快速开发高质量的软件应用。 手册详细介绍了Archer框架的基本概念、核心功能和主要模块的使用方法。首先,手册给出了框架的概述,包括其设计目标、特点和优势,以便开发者能够了解其整体结构和使用价值。 然后,手册详细介绍了Archer框架的安装与配置。开发者将学习如何在各种操作系统和开发环境中正确安装Archer,并进行必要的配置,以便开始开发工作。 接下来,手册介绍了Archer框架提供的主要功能和件,如用户界面设计、数据管理、权限控制等。每个功能和件都有详细的说明和示例代码,开发者可以根据自己的需求选择合适的功能和件进行开发。 手册还提供了一些实用的开发技巧和最佳实践,帮助开发者更好地使用Archer框架开发高效、可维护的应用程序。这些技巧和最佳实践包括如何优化代码、处理错误和异常、进行性能测试等。 最后,手册还包含了一些常见问题和解决方案,以及一些进阶的开发主题,如插件开发、集成其他工具等。开发者可以根据自己的需要深入学习和应用这些知识。 总之,《Archer开发手册》是一本对于使用Arch框架进行开发的人来说不可或缺的指南,它提供了全面而详细的信息,帮助开发者更好地掌握和使用Archer框架。无论是初学者还是有经验的开发者,都可以从中获得实用的知识和技巧,提高开发效率和软件质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值