LDAP kimlik doğrulama modülü django-auth-ldap ile sorun yaşıyorum. Ben bu siteden örnek yapılandırma kullanıyorum: http://packages.python.org/django-auth-ldap/Django kullanarak LDAP içinde kullanıcı oluşturma
iki şey yapmak istiyorum: LDAP karşı
1) kimlik denetiminin yapılması: Şu an için , benim LDAP veritabanı boş, ben eklemek vermedi Ona bir şey, aslında nasıl bilmiyorum. Ancak, django veritabanımda saklanan eski giriş/şifrelerimle hala django tabanlı siteme giriş yapabiliyorum. Neden? Bu göz ardı edilmemelidir, giriş işlemi yerine LDAP kullanıcısı/parolaları ile yapılmamalıdır? Başka bir deyişle, LDAP veritabanım boşsa, her girişimin başarısız olması gerekmez mi? Ancak, django'nun django-auth-ldap modülünü tamamen yok saydığı izleniminde değil.
2) LDAP'yi django ile senkronize edin (diğer yöntemle değil) Olası bir kullanıcı veritabanını kullanmak için kullanmak istemiyorum. Django'da yeni kullanıcılar oluşturabilmek ve bu kullanıcıları diğer hizmetlerle paylaşabilmeleri için LDAP'a yaymak istiyorum, benim durumumda bir açık ateş sunucu. Bunu django-auth-ldap ile nasıl yapıyorsun? İşte
benim konfigürasyonun kopyala/yapıştır geçerli:# Baseline configuration.
AUTH_LDAP_SERVER_URI = "127.0.0.1"
AUTH_LDAP_BIND_DN = "cn=admin,dc=nodomain"
AUTH_LDAP_BIND_PASSWORD = "admin"
AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=users,dc=nodomain",
ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
# Set up the basic group parameters.
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("ou=django,ou=groups,dc=nodomain",
ldap.SCOPE_SUBTREE, "(objectClass=groupOfNames)"
)
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType(name_attr="cn")
# Only users in this group can log in.
AUTH_LDAP_REQUIRE_GROUP = "cn=enabled,ou=django,ou=groups,dc=nodomain"
# Populate the Django user from the LDAP directory.
AUTH_LDAP_USER_ATTR_MAP = {
"first_name": "givenName",
"last_name": "sn",
"email": "mail"
}
AUTH_LDAP_PROFILE_ATTR_MAP = {
"employee_number": "employeeNumber"
}
AUTH_LDAP_USER_FLAGS_BY_GROUP = {
"is_active": "cn=active,ou=django,ou=groups,dc=nodomain",
"is_staff": "cn=staff,ou=django,ou=groups,dc=nodomain",
"is_superuser": "cn=superuser,ou=django,ou=groups,dc=nodomain"
}
AUTH_LDAP_ALWAYS_UPDATE_USER = True
AUTH_LDAP_FIND_GROUP_PERMS = True
AUTH_LDAP_CACHE_GROUPS = True
AUTH_LDAP_GROUP_CACHE_TIMEOUT = 3600
# Keep ModelBackend around for per-user permissions and maybe a local
# superuser.
AUTHENTICATION_BACKENDS = (
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
)
Üzgünüm LDAP hakkında çok şey bilmiyorum, ben sadece bu yüzden benim sorum naif gelebilir bu sabah yüklü. Sadece birkaç sunucu arasında güncelleme ve paylaşabileceğim merkezi bir kullanıcı tabanına ihtiyacım var.
Yardımlarınız için çok teşekkürler. Başarılı bir bulduğunda (veya) o bitene kadar kadar
AUTHENTICATION_BACKENDS = ('django_auth_ldap.backend.LDAPBackend', 'django.contrib.auth.backends.ModelBackend',)
Django sırayla her birine karşı kimlik doğrulaması çalışacaktır: