diff options
| author | Tobias Bengfort <tobias.bengfort@posteo.de> | 2019-03-08 17:48:50 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-06-05 13:39:46 +0200 |
| commit | 75337a60509fdfdd321a5caf8e30d57fff6b9518 (patch) | |
| tree | f69d37eaa5a1be92bf82ae089744d73b59506de1 /django | |
| parent | 4b6dfe16226a81fea464ac5f77942f4d6ba266e8 (diff) | |
Fixed #30226 -- Added BaseBackend for authentication.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/auth/backends.py | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/django/contrib/auth/backends.py b/django/contrib/auth/backends.py index 7549d71273..d20987f8e1 100644 --- a/django/contrib/auth/backends.py +++ b/django/contrib/auth/backends.py @@ -8,7 +8,24 @@ from django.utils.deprecation import RemovedInDjango31Warning UserModel = get_user_model() -class ModelBackend: +class BaseBackend: + def authenticate(self, request, **kwargs): + return None + + def get_user(self, user_id): + return None + + def get_group_permissions(self, user_obj, obj=None): + return set() + + def get_all_permissions(self, user_obj, obj=None): + return self.get_group_permissions(user_obj, obj=obj) + + def has_perm(self, user_obj, perm, obj=None): + return perm in self.get_all_permissions(user_obj, obj=obj) + + +class ModelBackend(BaseBackend): """ Authenticates against settings.AUTH_USER_MODEL. """ @@ -86,7 +103,7 @@ class ModelBackend: return user_obj._perm_cache def has_perm(self, user_obj, perm, obj=None): - return user_obj.is_active and perm in self.get_all_permissions(user_obj, obj) + return user_obj.is_active and super().has_perm(user_obj, perm, obj=obj) def has_module_perms(self, user_obj, app_label): """ |
