kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
Removed 2 DB queries per request when user is authenticated
rodzic
49e1bec7b9
commit
67de32ccc2
|
@ -327,7 +327,7 @@ SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
|
|||
# AUTHENTICATION CONFIGURATION
|
||||
# ------------------------------------------------------------------------------
|
||||
AUTHENTICATION_BACKENDS = (
|
||||
"django.contrib.auth.backends.ModelBackend",
|
||||
"funkwhale_api.users.auth_backends.ModelBackend",
|
||||
"allauth.account.auth_backends.AuthenticationBackend",
|
||||
)
|
||||
SESSION_COOKIE_HTTPONLY = False
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
from django.contrib.auth import backends, get_user_model
|
||||
|
||||
|
||||
class ModelBackend(backends.ModelBackend):
|
||||
def get_user(self, user_id):
|
||||
"""
|
||||
Select related to avoid two additional queries
|
||||
"""
|
||||
try:
|
||||
user = (
|
||||
get_user_model()
|
||||
._default_manager.select_related("actor__domain")
|
||||
.get(pk=user_id)
|
||||
)
|
||||
except get_user_model().DoesNotExist:
|
||||
return None
|
||||
return user if self.user_can_authenticate(user) else None
|
Ładowanie…
Reference in New Issue