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 CONFIGURATION
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
AUTHENTICATION_BACKENDS = (
|
AUTHENTICATION_BACKENDS = (
|
||||||
"django.contrib.auth.backends.ModelBackend",
|
"funkwhale_api.users.auth_backends.ModelBackend",
|
||||||
"allauth.account.auth_backends.AuthenticationBackend",
|
"allauth.account.auth_backends.AuthenticationBackend",
|
||||||
)
|
)
|
||||||
SESSION_COOKIE_HTTPONLY = False
|
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