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

Jump to: navigation, search
m (1 версия)
(m_CheckPermission: Translation)
Line 3: Line 3:
== m_CheckPermission ==
== m_CheckPermission ==
-
Данный тэг используется для проверки прав доступа на просмотр той или иной информации на шаблоне. Если требуется ограничить доступ ко всей информации на шаблоне, то нужно использовать тэг [[#m_RequireLogin|m_RequireLogin]] вместо этого тэга.
+
This tag is used to check permissions to access information on the template. In case if we need to limit the access to the entire template then [[#m_RequireLogin|m_RequireLogin]] tag should be used instead.
 +
 
 +
Below is a list of accepted parameters:
{| class="prettytable"
{| class="prettytable"
-
! название || описание
+
! Parameter || Description
|-
|-
-
| {{ConfigProperty|perm_event|string}} || Название события, наличие права вызова которого требуется проверить. Событие задаётся в форме "'''<code>prefix_special:EventName</code>'''", напр. "<code>u:OnCreate</code>".
+
| {{ConfigProperty|perm_event|string}} || Event Name for which permissions will be checked. Event Name should be specified in the following format "'''<code>prefix_special:EventName</code>'''", example "<code>u:OnCreate</code>".
|-
|-
-
| {{ConfigProperty|perm_prefix|string}} || [[K4:Unit Configs#Prefix|Префикс]] объекта, чья основная (primary) категория должна использоваться в процессе проверки прав доступа.
+
| {{ConfigProperty|perm_prefix|string}} || [[K4:Unit Configs#Prefix|Prefix]] of the object which Primary Section will be used to check the permissions. For example, Link (prefix "l") or Product (prefix "p") is located inside particular section. Note that Section used to be called Category before In-Portal v5.0.0.
|-
|-
-
| {{ConfigProperty|permissions|string}} || Названия прав, наличие которых нужно проверить. Права можно разбивать на группы, в таком случае:
+
| {{ConfigProperty|permissions|string}} || Permission(s) Name that will be checked. For better results Permissions can be grouped together:
-
* права с пределах одной группы проверяются по '''<code>AND</code>''' принципу;
+
* permissions in the same group are checked based on '''<code>AND</code>''' logic;
-
* права между группами проверяются по '''<code>OR</code>''' принципу.
+
* permissions between two separate groups are checked based on '''<code>OR</code>''' logic.
-
Для объединения прав в группу используется запятая ("<code>,</code>"). Для объединения групп используется вертикальная черта ("<code><nowiki>|</nowiki></code>"). Это будет легче понять на следующем примере:
+
 
 +
To list multiple permissions as one group use comma ("<code>,</code>"). To list multiple groups use pipe ("<code><nowiki>|</nowiki></code>"). Below are few examples for grouping permissions:
   {| class="prettytable"
   {| class="prettytable"
-
   ! строка || результат
+
   ! Permissions || Result
   |-
   |-
   | <code><nowiki>А,B|C,D,E</nowiki></code> || <code>(А AND B) OR (C AND D AND E)</code>
   | <code><nowiki>А,B|C,D,E</nowiki></code> || <code>(А AND B) OR (C AND D AND E)</code>
Line 28: Line 31:
   |}
   |}
|-
|-
-
| {{ConfigProperty|system|bool}} || Указывает на то, что проверяемые права являются системными, т.е. не зависят от текущей категории.  
+
| {{ConfigProperty|system|bool}} || Indicates that we check System Permissions - NOT dependent or related to the current Section. Note that Section used to be called Category before In-Portal v5.0.0.
|}
|}

Revision as of 03:44, 11 March 2009

Работа с шаблонами Работа с шаблонами
Статьи в этой категории

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

m_CheckPermission

This tag is used to check permissions to access information on the template. In case if we need to limit the access to the entire template then m_RequireLogin tag should be used instead.

Below is a list of accepted parameters:

Parameter Description
perm_event (string) Event Name for which permissions will be checked. Event Name should be specified in the following format "prefix_special:EventName", example "u:OnCreate".
perm_prefix (string) Prefix of the object which Primary Section will be used to check the permissions. For example, Link (prefix "l") or Product (prefix "p") is located inside particular section. Note that Section used to be called Category before In-Portal v5.0.0.
permissions (string) Permission(s) Name that will be checked. For better results Permissions can be grouped together:
  • permissions in the same group are checked based on AND logic;
  • permissions between two separate groups are checked based on OR logic.

To list multiple permissions as one group use comma (","). To list multiple groups use pipe ("|"). Below are few examples for grouping permissions:

Permissions Result
А,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) Indicates that we check System Permissions - NOT dependent or related to the current Section. Note that Section used to be called Category before In-Portal v5.0.0.

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), то производить перенаправление на указанный в этом параметре шаблон. Указанный здесь шаблон также будет использован, если не указан шаблон в любом из ниже перечисленных параметров: