Re: Как сделать auth request при SSI?
Maxim Dounin
mdounin на mdounin.ru
Пн Май 22 12:54:40 UTC 2017
Hello!
On Mon, May 22, 2017 at 03:50:56PM +0300, Maxim Dounin wrote:
> Hello!
>
> On Mon, May 22, 2017 at 07:38:04AM -0400, BorisK2 wrote:
>
> > Есть html-страница статьи, доступная всем. Надо на ней показать ссылку
> > "Редактировать", доступную только некоторым юзерам.
> > Из статьи (test1.html) подключаю по SSI ссылку (test2.html), но почему то
> > права на нее не проверяются. При прямом обращении из браузера - проверяются.
> > Как заставить проверять при SSI?
> >
> > test1.html (статья)
> > test1
> > <!--# include file="/test2.html" -->
>
> Модули контроля доступа (как то auth_basic, access и auth_request)
> не проверяют подзапросы. Предполагается, что все необходимые
> права были проверены на этапе обработки основного запроса.
>
> Если хочется какие-то ssi-фрагменты показывать в зависимости от
> результата auth_request, то следует использовать auth_request для
> основного запроса, и вернуть положительный результат, параллельно
> установив дополнительную переменную через auth_request_set. После
> чего проверять переменную с помощью, например, SSI-команды "if".
> Подробнее про auth_request_set в документации тут:
>
> http://nginx.org/ru/docs/http/ngx_http_auth_request_module.html
Ну и да, отмечу в скобках, что возможно вам auth_request тут
вообще не надо, а вполне хватит обычного <--#include ... set="variable" -->,
подробнее тут:
http://nginx.org/ru/docs/http/ngx_http_ssi_module.html#commands
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru