Логотип

Документация по макросам и шаблонам UMI.CMS

Название

Секция [streams] — Настройки REST-протоколов

enable[]

Список доступных системе протоколов: "udata", "utype", "upage", "uobject", "ufs", "usel", "umap", "uhttp", "ulang", "umess"

{протокол}.http.allow = "1"

Разрешение на доступ к протоколу {протокол} через HTTP. Список протоколов см. в описании параметра enable[].

{протокол}.http.permissions = "all"

Настройка прав доступа на вызов протокола {протокол} через HTTP. Список протоколов см. в описании параметра enable[].

Возможные значения

Кроме приведенных ниже параметров можно перечислить через запятую только список id групп пользователей и пользователей, для которых будет доступен протокол через HTTP.

admin

доступно только администраторам сайта.

sv

доступно только супервайзерам.

auth

доступно только авторизованным пользователям.

{протокол}.http.ip-allow = ""

Настройка прав доступа на вызов протокола {протокол} через HTTP по ip адресу. Список протоколов см. в описании параметра enable[].

Дополнительно:

Можно ограничить доступ по IP как к определенному протоколу, так и для конкретных пар «модуль—метод». При этом если в разрешении на доступ к протоколу выставлено значение = "0", то доступ будет закрыт для всех, однако его можно открыть для отдельно указанных IP (ко всему протоколу или к паре «модуль—метод»). Например:

uobject.http.allow = "0"
uobject.http.ip-allow = "127.0.0.1"

Разрешение на доступ к протоколу UObject через HTTP только с IP 127.0.0.1.

udata.http.allow = "0"
udata.http.ip-allow.content.menu = "127.0.0.1, 111.222.333.444"

Разрешение на доступ к протоколу UData через HTTP с IP 127.0.0.1, 111.222.333.444 для модуля content с методом menu, для остальных методов данного модуля и для остальных модулей доступ запрещен с любых IP.

udata.http.ip-allow.content.method_only_for_debug = "127.0.0.1"

Доступ к протоколу UData через HTTP разрешен для модуля content с методом method_only_for_debug только с IP 127.0.0.1, для остальных методов данного модуля и для остальных модулей доступ запрещен с любых IP.


Начиная с версии 2.8.5 также появилась возможность разрешать только конкретные пары «модуль—метод» для всех пользователей по любому протоколу. Например:

udata.http.allow = '0'
udata.http.allow.content.menu = '1'

Разрешение на доступ по протоколу UData для всех пользователей только к модулю content с методом menu, для остальных методов данного модуля и для остальных модулей доступ запрещен.

udata.http.allow = '1'
udata.http.allow.content.menu = '0'

Доступ к протоколу UData через HTTP к этому методу не запрещается, так как первое определение важнее.

Ограничения на иные протоколы и пары «модуль—метод» создаются аналогичным образом. Если в разрешении выставлено значение "1", то доступ к протоколу будет открыт для всех, без ограничений.

udata.http.extended.allow = 0

Разрешение на вывод расширенных полей и групп по протоколу UData через HTTP.

user-agent = "UMI.CMS libxml agent"

Заголовок "User Agent", который будет отправлять система при доступе к внешним данным.

udata.autoload.custom.config = "1"

Включить или отключить автоматическое определение и подключение config.ini для текущего шаблона.