Add web/core/middleware.py
This commit is contained in:
parent
4d2611ea00
commit
9079f1e47c
20
web/core/middleware.py
Normal file
20
web/core/middleware.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import threading
|
||||||
|
from django.utils.deprecation import MiddlewareMixin
|
||||||
|
|
||||||
|
_local = threading.local()
|
||||||
|
|
||||||
|
def get_current_username():
|
||||||
|
u = getattr(_local, "user", None)
|
||||||
|
if not u or not getattr(u, "is_authenticated", False):
|
||||||
|
return ""
|
||||||
|
return getattr(u, "username", "") or ""
|
||||||
|
|
||||||
|
class CurrentUserMiddleware(MiddlewareMixin):
|
||||||
|
def process_request(self, request):
|
||||||
|
_local.user = getattr(request, "user", None)
|
||||||
|
def process_response(self, request, response):
|
||||||
|
_local.user = None
|
||||||
|
return response
|
||||||
|
def process_exception(self, request, exception):
|
||||||
|
_local.user = None
|
||||||
|
return None
|
||||||
Loading…
Reference in New Issue
Block a user