2012-09-10 14 views
5

Tôi không hiểu cách sử dụng LDAPBackend trong django, tất cả những gì tôi muốn làm là xác thực người dùng dựa trên LDAP. Tôi đã thử các cách sau:Xác thực người dùng Django: django_auth_ldap.backend.LDAPBackend

from django_auth_ldap.backend import LDAPBackend 
auth = LDAPBackend() 
user = auth.authenticate(username='my_uid',password='pwd') 

Tại thời điểm này, người dùng không có gì và đang xem tcpdump Tôi không thể thấy bất kỳ nỗ lực kết nối nào với máy chủ LDAP.

settings.py
AUTH_LDAP_SERVER_URI = 'ldap.example.com' 
AUTH_LDAP_USER_DN_TEMPLATE = 'uid=%(user)s,ou=People,dc=example,dc=com' 
AUTH_LDAP_BIND_AS_AUTHENTICATING_USER = True 
AUTH_LDAP_CACHE_GROUPS = True 
AUTH_LDAP_GROUP_CACHE_TIMEOUT = 3600 
AUTH_LDAP_USER_ATTR_MAP = { 
"first_name": "givenName", 
"last_name": "sn", 
"email": "mail" 
} 
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend', 
'django_auth_ldap.backend.LDAPBackend', 
) 

Các django doc chính thức không cung cấp bất kỳ đoạn về cách sử dụng phụ trợ này trong một cái nhìn.

Rất cám ơn sự giúp đỡ của bạn!

+0

Điều đó đúng. Các django doc chính thức là rất hạn chế. – shailenTJ

Trả lời

1

Tất cả tài liệu cho django-auth-ldap là here. Để gỡ lỗi cấu hình của bạn, bạn sẽ muốn cài đặt trình xử lý ghi nhật ký trên nhật ký 'django_auth_ldap'; xem Django's logging documentation để biết thêm về điều đó.

Trong nháy mắt, tôi sẽ nói rằng một vấn đề là AUTH_LDAP_SERVER_URI không được đặt thành URI; thử một cái gì đó của mẫu ldap://ldap.example.com/. Bạn cũng sẽ muốn xem lại tài liệu cho AUTH_LDAP_BIND_AS_AUTHENTICATING_USER: đây là tùy chọn nâng cao và hơi tinh tế mà bạn chỉ nên bật nếu bạn biết rằng bạn cần nó.

+0

Hi psagers, cảm ơn rất nhiều sự giúp đỡ của bạn, sau khi tiền tố tên máy chủ với ldap: // Tôi bắt đầu thấy lưu lượng truy cập ldap, đó chắc chắn là vấn đề của tôi. – Cosmix