Я работаю с django rest framework
, чтобы построить api
, а во внешнем интерфейсе я использую Angular framework
.
Я разработал пользовательский middleware
, который перехватывает каждый запрос.Я хочу выйти из системы, когда условие не выполнено.
class MyCustomMiddleware(MiddlewareMixin):
def process_request(self, request):
if not request.user.is_authenticated():
#user is not allowed to do this request
#logout the user
Я знаю, что из backend
я не могу перенаправить пользователя на страницу входа, это сотрудник front end
, ноЯ хочу отправить уведомление или что-то в интерфейс, чтобы сказать ему, что он должен перенаправить пользователя на страницу входа в систему.
Я пытался поднять PermissionError
и HTTP_403_FORBIDDEN
, но ни один из них не работал.
Я думал о добавлении некоторой вещи (атрибута / параметра) в заголовок запроса, чтобы в перехватчике внешнего интерфейса я проверял, существует ли этот атрибут / параметр, но я не смог найти способ для этого.
Я также пытался установить для пользователя запроса значение None: request.user=None
, но оно также не удалось.
Может кто-нибудь сказать мне, возможно ли это вначале или нет?
Если да, то как мне этого добиться?
Большое спасибо.