社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  问与答

Django使用windows AD进行用户认证

痴狂的剑 • 8 年前 • 6453 次点击  

Django使用windows AD进行用户认证,windows server上除了安装AD,还需要安装其他的服务吗?

使用django-auth-ldap进行AD连接,怎么进行测试,有连接测试的工具推荐吗?

求教各位大神~

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1469
 
6453 次点击  
文章 [ 8 ]  |  最新文章 8 年前
liantian
Reply   •   1 楼
liantian    8 年前

@痴狂的剑 是的...就是验证ad后,创建or使用本地的同名账户登录。

痴狂的剑
Reply   •   2 楼
痴狂的剑    8 年前

@alex.su 你好,我试了下,发现后台可以把ad里的账户同步过来,但是登陆不进去,在用户状态那里显示的好像是禁止的状态,这个要怎么解决呢?有遇到过吗?

alex.su
Reply   •   3 楼
alex.su    8 年前

1.2.7 的

痴狂的剑
Reply   •   4 楼
痴狂的剑    8 年前

@alex.su 我试试你这个,请问你的django-auth-ldap的版本是什么版本?

alex.su
Reply   •   5 楼
alex.su    8 年前

我这边是这样配置的哈,用户登录的时候会先用 LDAP 进行效验,效验通过,如果本地没有该账号则自动创建,如果本地有该账号,则同步指定的用户字段信息

如果LDAP 效验不通过,则检查是否有本地的账号,使用本地账号密码进行效验

1. 首先安装 django-auth-ldap 模块:

pip install django-auth-ldap

2. 在 setting.py 中加入下面的语句

import ldap from django_auth_ldap.config import LDAPSearch

AUTHENTICATION_BACKENDS = (

'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',

)

AUTH_LDAP_SERVER_URI = 'ldap://192.168.0.1:389'

AUTH_LDAP_BIND_DN = "CN=sumin,CN=Users,DC=test,DC=com" AUTH_LDAP_BIND_PASSWORD = "jiangling"

AUTH_LDAP_USER_SEARCH = LDAPSearch('CN=Users,DC=test,DC=com', ldap.SCOPE_SUBTREE, '(sAMAccountName=%(user)s)',)

AUTH_LDAP_USER_ATTR_MAP = { "first_name": "givenName", "last_name": "sn", "email": "mail" }

AUTH_LDAP_ALWAYS_UPDATE_USER = True

痴狂的剑
Reply   •   6 楼
痴狂的剑    8 年前

@liantian 认证后,会在django后台同时添加上同一个账户吗

liantian
Reply   •   7 楼
liantian    8 年前

https://github.com/liantian-cn/OMC/blob/master/src/apps/SSO/models.py

我是饶了一个思路,只使用ldap3模块,认证域用户后,使用登陆的还是一个本地用户,这样升级django会比较平滑。

痴狂的剑
Reply   •   8 楼
痴狂的剑    8 年前

自己顶一下