Archived
add ldap auth reqs, minor
This commit is contained in:
1 parent
a9018e497c
commit
3f61dbf056
4 files changed
+42
-15
No files matched your search
+9
-13
@@ -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,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
@@ -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)
|
||||
@@ -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)
|
||||
Reference in new issue
Block a user