In-Portal Developers Guide

This is a wiki-based Developers Guide for In-Portal Open Source CMS. The purpose of this guide is to provide advanced users, web developers and programmers with documentation on how to expand, customize and improve the functionality and the code the In-Portal software. Please consider contributing to our documentation writing effort.

K4:Ограничение доступа к шаблону

From In-Portal Developers Guide

Revision as of 21:57, 30 January 2009 by Alex (Talk)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search
Работа с шаблонами Работа с шаблонами
Статьи в этой категории

Для ограничения доступа к шаблону используются тэги m_CheckPermission и m_RequireLogin.

m_CheckPermission

Данный тэг используется для проверки прав доступа на просмотр той или иной информации на шаблоне. Если требуется ограничить доступ ко всей информации на шаблоне, то нужно использовать тэг m_RequireLogin вместо этого тэга.

название описание
perm_event (string) Название события, наличие права вызова которого требуется проверить. Событие задаётся в форме "prefix_special:EventName", напр. "u:OnCreate".
perm_prefix (string) Префикс объекта, чья основная (primary) категория должна использоваться в процессе проверки прав доступа.
permissions (string) Названия прав, наличие которых нужно проверить. Права можно разбивать на группы, в таком случае:
  • права с пределах одной группы проверяются по AND принципу;
  • права между группами проверяются по OR принципу.

Для объединения прав в группу используется запятая (","). Для объединения групп используется вертикальная черта ("|"). Это будет легче понять на следующем примере:

строка результат
А,B|C,D,E (А AND B) OR (C AND D AND E)
A,B A AND B
A|B,E A OR (B AND E)
A|B|D A OR B OR D
system (bool) Указывает на то, что проверяемые права являются системными, т.е. не зависят от текущей категории.

m_RequireLogin

Данный тэг используется для создания шаблонов доступных к просмотру только пользователям, прошедшим идентификацию (logged in). Его также можно использовать для проверки прав доступа, принадлежности к группе и тому подобных вещей. Широкий спектр параметров делает его незаменимым в CMS системах.

название описание
no_permissions_template (string) Название шаблона, куда должно произойти перенаправление в случае отсутствия требуемых прав доступа. В случае, если этот параметр не указан и не указан параметр login_template, то будут взят следующий шаблон:
  • в административной консоли - no_permission.tpl;
  • на Front-End - шаблон, указанный в переменной конфигурации NoPermissionTemplate.
Image:Infobox Icon.gif Данный тэг также принимает все параметры, которые можно указать в тэге m_CheckPermission.
condition (string) Название переменной конфигурации, значение которой нужно проверить. Если указать восклицательный знак ("!") перед названием конфигурационной переменной, то результат проверки даст обратный эффект, напр.
  • SampleVariable - условие выполниться, если в данной переменной будет "1";
  • !SampleVarible - условие выполниться, если в данной переменной будет "0".
group (string) Название группы, к которой должен принадлежать текущий пользователь.
pass_category (bool) Передавать текущую категорию при перенаправлении на шаблон, извещающий о недостатке прав доступа.
no_group_perm_template (string) В случае, если пользователь прошёл идентификацию (logged in), но не состоит в запрашиваемой группе, то перенаправлять его на указанный в этом параметре шаблон.
login_template (string) В случае, если пользователь не прошёл идентификацию (not logged in), то производить перенаправление на указанный в этом параметре шаблон. Указанный здесь шаблон также будет использован, если не указан шаблон в любом из ниже перечисленных параметров: