Quantcast
Channel: Nginx Forum
Viewing all articles
Browse latest Browse all 53287

Кроссдоменная авторизация средставми nginx

$
0
0
Здравствуйте, Nginx-ru.

Дано: домен с большим количеством поддоменов. Задача:
открыть доступ только для ограниченного круга лиц, включая мобильные
клиенты. Крайне желательно ограничиться средствами nginx, не
вмешиваясь в скрипты сайта. Авторизация нужна только для того, чтобы
не могли зайти люди "с улицы". Т.е. вполне подойдет что-то слабенькое,
как, например, факт наличия куки у клиента и т.п. Никак не могу
придумать, как это реализовать.
Basic-авторизация не подходит, т.к. она не кроссдоменная.
Рассматривал вариант когда сайт не пускает никого, у кого
нет определенной куки, а получить ее можно, зайдя на определенный урл
внутри сайта. Возникли проблемы с внесением изменений в текущую
конфигурацию nginx:

if ($cookie_edws != '1033'){
return 444;
}

location = /auth_url {
add_header Set-Cookie "lcid=1033;Domain=.domain.com;Path=/;Max-Age=31536000";
rewrite ^(.*)$ domain.com persistent;
}

if (!-e $request_filename) {
rewrite ^(.*)$ /index.php break;
}

Таким образом, если физически auth_url не существует, то управление в
location = /auth_url не попадет никогда, а всегда будет передано в if
(-e $request_filename). Даже если вмешаться в структуру сайта (что
неприемлимо) и создать файл auth_url, то в location управление не
попадет из-за существования if ($cookie_edws != '1033'). Замкнутый
круг какой-то.

Может многоуважаемый All подскажет как быть?

--
С уважением,
Psixozzz mailto:psixozzz@gmail.com

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Viewing all articles
Browse latest Browse all 53287

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>