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

Danila Shtan danila at shtan.ru
Wed May 8 09:27:17 UTC 2013


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

Д.


2013/5/8 Васильев "Zmey!" Олег <zmey1992 at ya.ru>

> Занесите auth_basic в контекст http {}, все server{} внутри унаследуют его
> (только что проверил).
>
> 05.05.2013, 18:23, "psixozzz at gmail.com" <psixozzz at gmail.com>:
> > Здравствуйте, 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 at gmail.com
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130508/37217d54/attachment.html>


Подробная информация о списке рассылки nginx-ru