diff --git a/config/settings/base.py b/config/settings/base.py index 8a21cd457f1eb2a4c1c4084d6f4e4348e963a8b3..299be0ee55e8cb93d97c6d94fff0e616d0ec9b3b 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -259,7 +259,7 @@ AUTHENTICATION_BACKENDS = ( 'ligoauth.middleware.auth.LigoX509Backend', 'ligoauth.middleware.auth.LigoShibBackend', 'ligoauth.middleware.auth.LigoBasicBackend', - 'ligoauth.middleware.auth.ModelBackend', + 'ligoauth.backends.GraceDbModelBackend', # 'ligoauth.middleware.auth.RemoteUserBackend', # 'ligodjangoauth.LigoShibbolethAuthBackend', # 'django.contrib.auth.backends.ModelBackend', diff --git a/gracedb/ligoauth/backends.py b/gracedb/ligoauth/backends.py index a665d93741d270bf505b17a61d8f82839cdbe50a..8b4d408d4f710960eed1afc4e0e1db884335adc9 100644 --- a/gracedb/ligoauth/backends.py +++ b/gracedb/ligoauth/backends.py @@ -17,3 +17,13 @@ class ModelPermissionsForObjectBackend(backends.ModelBackend): # Now, logic is: check for table-level permissions in either case return super(ModelPermissionsForObjectBackend, self).has_perm(user_obj, perm, obj=None) + + +class GraceDbModelBackend(ModelPermissionsForObjectBackend): + """ + Main permission-checking backend for GraceDB. We remove the ability + for this backend to authenticate users, since that is handled by other + auth backends. + """ + def authenticate(self, request, username=None, password=None, **kwargs): + return None diff --git a/gracedb/ligoauth/middleware/auth.py b/gracedb/ligoauth/middleware/auth.py index 4c55a4fe0af290fe6344d433dac759c8b2bd762b..f52facbbaef36ac9a2ae20be37becdd74b5e892b 100644 --- a/gracedb/ligoauth/middleware/auth.py +++ b/gracedb/ligoauth/middleware/auth.py @@ -304,7 +304,3 @@ class LigoBasicBackend: return User.objects.get(id=user_id) except User.DoesNotExist: return None - -class ModelBackend(DefaultModelBackend): - def authenticate(self, username=None, password=None, **kwargs): - return None