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 (категория)
Current revision (04:17, 11 March 2009) (view source)
(m_RequireLogin: Translation)
 
(2 intermediate revisions not shown.)
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.
|}
|}
== m_RequireLogin ==
== m_RequireLogin ==
Данный тэг используется для создания шаблонов доступных к просмотру только пользователям, прошедшим идентификацию (logged in). Его также можно использовать для проверки прав доступа, принадлежности к группе и тому подобных вещей. Широкий спектр параметров делает его незаменимым в CMS системах.  
Данный тэг используется для создания шаблонов доступных к просмотру только пользователям, прошедшим идентификацию (logged in). Его также можно использовать для проверки прав доступа, принадлежности к группе и тому подобных вещей. Широкий спектр параметров делает его незаменимым в CMS системах.  
 +
 +
Current tag is mainly used to check whether use is Logged In or not. It also can be used to check if user belongs to any specific User Group. Tag accepts wide range of parameters and can be successfully used in other tasks.
{| class="prettytable"
{| class="prettytable"
-
! название || описание
+
! Parameter || Description
|-
|-
-
| {{ConfigProperty|no_permissions_template|string}} || Название шаблона, куда должно произойти перенаправление в случае отсутствия требуемых прав доступа. В случае, если этот параметр не указан и не указан параметр [[#login_template|login_template]], то будут взят следующий шаблон:
+
| {{ConfigProperty|no_permissions_template|string}} || Template Name where user will be redirected if NO rights to access returned. In case if this parameter is not specified as well as [[#login_template|login_template]], then the following template will be used:
-
* в административной консоли - <code>no_permission.tpl</code>;
+
* in Admin Console - <code>no_permission.tpl</code>;
-
* на Front-End - шаблон, указанный в переменной конфигурации [[K4:Configuration#NoPermissionTemplate|NoPermissionTemplate]].
+
* on Front-End - template name specified in Configuration [[K4:Configuration#NoPermissionTemplate|NoPermissionTemplate]].
-
{{InfoBox|Данный тэг также принимает все параметры, которые можно указать в тэге [[#m_CheckPermission|m_CheckPermission]].}}
+
{{InfoBox|This tag also accepts ALL parameters that cab be specified for [[#m_CheckPermission|m_CheckPermission]] tag.}}
|-
|-
-
| {{ConfigProperty|condition|string}} || Название [[K4:Configuration|переменной конфигурации]], значение которой нужно проверить. Если указать восклицательный знак ("<code>!</code>") перед названием конфигурационной переменной, то результат проверки даст обратный эффект, напр.
+
| {{ConfigProperty|condition|string}} || Name of [[K4:Configuration|Configuration Variable]], which value will be checked. Exclamation mark ("<code>!</code>") can be put before the Variable name to use NOT logic, examples:
-
* <code>SampleVariable</code> - условие выполниться, если в данной переменной будет "<code>1</code>";
+
* <code>SampleVariable</code> - condition check will return TRUE if variable equals to "<code>1</code>";
-
* <code>!SampleVarible</code> - условие выполниться, если в данной переменной будет "<code>0</code>".
+
* <code>!SampleVarible</code> - condition check will return TRUE if variable equals to "<code>0</code>".
|-
|-
-
| {{ConfigProperty|group|string}} || [[K4:PortalGroup#Name|Название группы]], к которой должен принадлежать текущий пользователь.
+
| {{ConfigProperty|group|string}} || Name of [[K4:PortalGroup#Name|User Group]] current user should belong to.
|-
|-
-
| {{ConfigProperty|pass_category|bool}} || Передавать текущую категорию при перенаправлении на шаблон, извещающий о недостатке прав доступа.
+
| {{ConfigProperty|pass_category|bool}} || Whether to pass through or not the current Section when Permissions check fails (returned FALSE) and user will be redirected to "no permissions" template.
|-
|-
-
| {{ConfigProperty|no_group_perm_template|string}} || В случае, если пользователь прошёл идентификацию (logged in), но не состоит в запрашиваемой группе, то перенаправлять его на указанный в этом параметре шаблон.
+
| {{ConfigProperty|no_group_perm_template|string}} || In case if user successfully passed Logged In check, however does NOT belong to a specified User Group, then redirect user to specified in this parameter template.
|-
|-
-
| {{ConfigProperty|login_template|string}} || В случае, если пользователь не прошёл идентификацию (not logged in), то производить перенаправление на указанный в этом параметре шаблон. Указанный здесь шаблон также будет использован, если не указан шаблон в любом из ниже перечисленных параметров:
+
| {{ConfigProperty|login_template|string}} || In case if user did NOT pass Logged In check, then redirect user to specified in this parameter template. Specified template will be also used if any of below listed parameters are left empty:
* [[#no_permissions_template|no_permissions_template]];
* [[#no_permissions_template|no_permissions_template]];
* [[#no_group_perm_template|no_group_perm_template]].
* [[#no_group_perm_template|no_group_perm_template]].
|}
|}

Current revision

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

Для ограничения доступа к шаблону используются тэги 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 системах.

Current tag is mainly used to check whether use is Logged In or not. It also can be used to check if user belongs to any specific User Group. Tag accepts wide range of parameters and can be successfully used in other tasks.

Parameter Description
no_permissions_template (string) Template Name where user will be redirected if NO rights to access returned. In case if this parameter is not specified as well as login_template, then the following template will be used:
  • in Admin Console - no_permission.tpl;
  • on Front-End - template name specified in Configuration NoPermissionTemplate.
Image:Infobox Icon.gif This tag also accepts ALL parameters that cab be specified for m_CheckPermission tag.
condition (string) Name of Configuration Variable, which value will be checked. Exclamation mark ("!") can be put before the Variable name to use NOT logic, examples:
  • SampleVariable - condition check will return TRUE if variable equals to "1";
  • !SampleVarible - condition check will return TRUE if variable equals to "0".
group (string) Name of User Group current user should belong to.
pass_category (bool) Whether to pass through or not the current Section when Permissions check fails (returned FALSE) and user will be redirected to "no permissions" template.
no_group_perm_template (string) In case if user successfully passed Logged In check, however does NOT belong to a specified User Group, then redirect user to specified in this parameter template.
login_template (string) In case if user did NOT pass Logged In check, then redirect user to specified in this parameter template. Specified template will be also used if any of below listed parameters are left empty: