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