Re: auth request контроль числа прошедих авторизацию
Maxim Dounin
mdounin на mdounin.ru
Чт Ноя 19 13:16:05 UTC 2015
Hello!
On Thu, Nov 19, 2015 at 03:26:03AM -0500, Magikanin wrote:
> Добрый день.
>
> Есть backend-сайт. Перед ним установил nginx в качестве прокси. Для доступа
> на сайт необходимо пройти авторизацию. Авторизация организована с помощью
> auth_request на отдельном ресурсе не связанном с backend.
> Вот конфиг, который "работает" сейчас:
> -----
> location / {
> auth_request /auth;
> proxy_pass http://backend/;
> }
>
> # Служебные locations
> location /auth {
> internal;
> proxy_pass_request_body off;
> proxy_set_header Content-Length "";
> proxy_pass http://127.0.0.1:5000/;
> }
> -----
>
> Возникло 2 задачи:
> 1) Организовать уникальность авторизованных пользователей. Т.е. если есть
> авторизованный пользователь с логином USER1, то при попытке захода другого
> пользователя с такимже логином будет выдаваться ошибка.
>
> 2) На proxy нужно иметь возможность сбросить авторизацию конкретного
> пользователя (заставить его авторизоваться заново).
>
> Возможно ли это реализовать с помощью nginx? Изменять backend-сайт
> возможности нет (система закрытая), т.е. мне достпны только настройки на
> проксирующем сервере.
Это можно сделать в авторизационном сервисе. А nginx всё это
увидит и будет корректно обрабатывать через auth_request.
Если авторизационный сервис тоже внешний и не может меняться -
сделайте поверх него свой, в котором уже обращайтесь к внешнему.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru