2009-01-04 20 views
19

Tôi đang làm việc trên một ứng dụng dựa trên Django trong môi trường công ty và muốn sử dụng hệ thống Active Directory hiện có để xác thực người dùng (vì vậy họ không nhận được một kết hợp đăng nhập/mật khẩu khác). Tôi cũng muốn tiếp tục sử dụng hệ thống ủy quyền/cấp phép người dùng của Django để quản lý khả năng của người dùng.Sử dụng AD làm xác thực cho Django

Có ai có ví dụ điển hình về điều này không?

Trả lời

7

Các liên kết được cung cấp bởi Jeff thực sự làm việc mặc dù nó giả sử bạn có một bạn có một nhóm mặc định mà người sử dụng được thêm vào đến. Tôi chỉ đơn giản là thay thế:

group=Group.objects.get(pk=1) 

bởi

group,created=Group.objects.get_or_create(name="everyone") 

Nếu bạn muốn tích hợp chặt chẽ hơn & tính năng cũng có django-auth-ldap mang đến cho bạn bạn kiểm soát tốt hơn cách người dùng ldap/nhóm được ánh xạ vào django người dùng/nhóm .

Đối gỡ lỗi kết nối ldap tôi thấy this blog post hữu ích, đặc biệt là các lệnh để kiểm tra kết nối ldap với ldap-utils:

ldapsearch -H ldaps://ldap-x.companygroup.local:636 -D "CN=Something LDAP,OU=Random Group,DC=companygroup,DC=local" -w "p4ssw0rd" -v -d 1 

Nếu bạn đang sử dụng ssl đó cũng là vấn đề của việc tổ chức của một giấy chứng nhận sẽ chơi tốt đẹp với. Hoặc là bạn lấy nó ra khỏi máy chủ, hoặc bạn có thể theo dõi these instructions để tạo của riêng bạn.

1

Tôi gặp vấn đề tương tự và nhận thấy rằng django-auth-ldap không hỗ trợ SASL -> mật khẩu văn bản thuần trên kết nối nếu TSL không khả dụng.

Dưới đây là những gì tôi đã làm cho vấn đề: https://github.com/susundberg/django-auth-ldap-ad

Các vấn đề liên quan