ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



Проблема с auth_basic не в том, как её наследовать, а в том, что на domain.com, site.domain.com, trash.domain.com пользователю придется вводить пароли отдельно.

Д.


2013/5/8 Васильев "Zmey!" Олег <zmey1992@xxxxx>
Занесите auth_basic в контекст http {}, все server{} внутри унаследуют его (только что проверил).

05.05.2013, 18:23, "psixozzz@xxxxxxxxx" <psixozzz@xxxxxxxxx>:
> Здравствуйте, 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@xxxxxxxxx
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

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

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


 




Copyright © Lexa Software, 1996-2009.