add ldap auth reqs, minor

This commit is contained in:
nikolark committed 2016-08-06 15:28:41 +02:00
1 parent a9018e497c
commit 3f61dbf056
4 files changed
+42 -15

No files matched your search

+9 -13
View File
@@ -88,18 +88,10 @@ DATABASES = {
# Password validation
# https://docs.djangoproject.com/en/1.10/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
{'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator'},
{'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator'},
{'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator'},
{'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator'},
]
@@ -115,9 +107,13 @@ USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.10/howto/static-files/
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
# Auth
AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend',
]
# Local settings
try:
from .local_settings import *
+1
View File
@@ -1,5 +1,6 @@
Django==1.10
django-admin-sortable2==0.6.4
django-auth-ldap==1.2.8
django-extensions==1.6.7
djangorestframework==3.4.1
gunicorn==19.6.0
+2 -2
View File
@@ -5,7 +5,7 @@ from slides.models import Slide
class SlideAdmin(SortableAdminMixin, admin.ModelAdmin):
list_display = ('url', 'title', 'status', 'activate_date', 'deactivate_date')
ordering = ('order', 'status', '-activate_date')
list_display = ['title', 'url', 'status', 'activate_date', 'deactivate_date']
ordering = ['order', 'status', '-activate_date']
admin.site.register(Slide, SlideAdmin)
+30
View File
@@ -0,0 +1,30 @@
from django_auth_ldap.backend import LDAPBackend
class LDAPUsernameBackend(LDAPBackend):
settings_prefix = "AUTH_LDAP_U_"
class LDAPEmailBackend(LDAPBackend):
settings_prefix = "AUTH_LDAP_E_"
def get_or_create_user(self, email, ldap_user):
"""
Use the PosixUser uid field as username instead of email.
This must return a (User, created) 2-tuple for the given LDAP user.
username is the Django-friendly username of the user. ldap_user.dn is
the user's DN and ldap_user.attrs contains all of their LDAP attributes.
"""
model = self.get_user_model()
username_field = getattr(model, 'USERNAME_FIELD', 'username')
kwargs = {
username_field + '__iexact': ldap_user.attrs['uid'][0],
'defaults': {
username_field: ldap_user.attrs['uid'][0].lower(),
'email': email
}
}
return model.objects.get_or_create(**kwargs)