django使用ldap进行用户登录认证

django使用ldap进行用户登录认证一般在公司内部都会使用ldap系统进行用户认证。安装pipinstalldjango-auth-ldap主要在settings.py的配置 点击(此处)折叠或打开 #设置后端认证函数,先进行ldap认证后进行数据库认证 AUTHENTICATI…

  一般在公司内部都会使用ldap系统进行用户认证。

  安装   pip install django-auth-ldap

  主要在settings.py的配置

 

点击(此处)折叠或打开

  1. #设置后端认证函数,先进行ldap认证 后进行数据库认证
  2. AUTHENTICATION_BACKENDS = [
  3.     ‘django_auth_ldap.backend.LDAPBackend’,          # ldap认证
  4.     ‘django.contrib.auth.backends.ModelBackend’,     # 数据库用户认证
  5. ]
  6. #ldap的连接基础配置
    AUTH_LDAP_SERVER_URI = “ldap://xxx.xxx.xxx.xxx:389” # ldap or ad 服务器地址
    AUTH_LDAP_BIND_DN = “CN=administrator,CN=Users,DC=test,DC=com” # 管理员的dn路径
    AUTH_LDAP_BIND_PASSWORD = ‘testpassword’ # 管理员密码

    #搜索的域

    AUTH_LDAP_USER_SEARCH = LDAPSearch(

        ‘ou=users,dc=example,dc=com’,

         ldap.SCOPE_SUBTREE,

        ‘(uid=%(user)s)’,

    )

    #如果有多个域

    AUTH_LDAP_USER_SEARCH = LDAPSearchUnion(

        LDAPSearch(

        ‘ou=users,dc=example,dc=com’,

         ldap.SCOPE_SUBTREE,

        ‘(uid=%(user)s)’),

      LDAPSearch(

        ‘ou=admin,dc=example,dc=com’,

         ldap.SCOPE_SUBTREE,

        ‘(uid=%(user)s)’,

    )

    #django数据跟ldap字段对应关系,key为django字段,value为ldap字段

    AUTH_LDAP_USER_ATTR_MAP = { 'first_name': 'cn', 'last_name': 'sn', 'email': 'mail',}
        #是否同步ldap的修改,当ldap属性修改后当通过ldap认证会自动同步到django的user表中

        AUTH_LDAP_ALWAYS_UPDATE_USER = True    

        

        AUTH_LDAP_CACHE_TIMEOUT = 100 #ldap缓存时间

                

        AUTH_LDAP_DENY_GROUP = ‘cn=kerrigan,ou=Group,dc=ops-coffee,dc=cn’ #拒绝这个组下的成员登录

        # 设置额外属性,以下设置为 admin组内的成员登录自动在django设置超级管理员权限,在user表设置
is_superuser为True

         AUTH_LDAP_USER_FLAGS_BY_GROUP  = {


                      
‘is_superuser’:
‘cn=admin,ou=Group,dc=ops-coffee,dc=cn’,

            }  

         

         

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/35590.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注