Re: Как сделать auth request при SSI?

Maxim Dounin mdounin на mdounin.ru
Пн Май 22 12:50:56 UTC 2017


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

-- 
Maxim Dounin
http://nginx.org/


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