Портальные контексты и доступ к порталу. Как отключить ограничения доступа?

Портальный контекст — это удобный инструмент управления доступом пользователей на порталы. Он позволяет настроить доступ к конкретному порталу по принципу фейсконтроля: есть список пользователей, которым доступ разрешен, и все остальные, кому доступ запрещен.

Пользователи, которым доступ разрешен, указываются в поле Критерии аудитории (Audience Criteria) на форме создания портального контекста. Все прочие, кто не входит в Критерии аудитории, не будут допущены на портал.

Например, создан портальный контекст, в котором в Критерии аудитории включены только пользователи из Рио-де-Жанейро. Следовательно, портальный контекст будет допускать на портал любых пользователей из Рио-де-Жанейро и ограничивать в доступе пользователей, не отвечающих этому критерию.

Бывают ситуации, когда необходимо, чтобы пользователи имели доступ к порталам независимо от критериев. При этом настроены портальные контексты. Что делать в данном случае?

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

На платформе SimpleOne есть системное свойство portals.portal_context.enable, которое отвечает за доступ пользователей к странице в целом. Если свойство portals.portal_context.enable подключено (т. е. его значение равно true), то доступ пользователей к странице запрещен.

Портальные контексты в условиях такого общего запрета фактически определяют исключения из него. Они устанавливают категории пользователей, кому доступ разрешен. Именно поэтому они срабатывают как регуляторы доступа: определяют критерии, при соответствии которым доступ разрешен, а всем остальным в силу действия свойства portals.portal_context.enable — запрещен.

Следовательно, без включения общего запрета через системное свойство portals.portal_context.enable портальный контекст функционировать не будет.

В связи с этим, для функционирования портального контекста нужно выполнить 3 основных шага:

  1. указать значение true в системном свойстве portals.portal_context.enable, чтобы установить общий запрет на доступ;

  2. создать портальный контекст (навигатор: Контекстные правила → Контекст портала), который определит категории пользователей, кому доступ будет разрешен;

  3. отметить чек-бокс Активен (на форме создания контекста).

Таким образом, портальные контексты направлены не на ограничение доступа, а, напротив, на определение случаев, когда он разрешен.

В связи с этим, если необходимо отменить ограничения доступа на портал, то нужно указать false в значении системного свойства portals.portal_context.enable. Доступ станет разрешен пользователям, а функциональность портальных контекстов будет отключена.

Если деактивировать сами портальные контексты и при этом оставить значение portals.portal_context.enable равным true, то наоборот будут отключены разрешения портальных контекстов, и останется только общий запрет.

Именно отключение системного свойства portals.portal_context.enable снимет ограничения доступа.

Обратите внимание, что пользователь с ролью admin — всегда имеет доступ к порталу и агентскому интерфейсу, независимо от наличия/отсутствия запрета системного свойства portals.portal_context.enable.

Если необходимо предоставить доступ к порталу пользователям с конкретными ролями, то нужно использовать системное свойство — portals.portal_conteхt.override_roles. В данном свойстве следует указать роли пользователей, для которых ограничения доступа будут недействительны. Пример значения: [“change_manager”, ''incident_manager"]. Свойство portals.portal_conteхt.override_roles полезно в случаях, когда пользователь может не удовлетворять критериям портального контекста, но ему необходимо предоставить доступ в силу его роли. Например, если это сотрудник, который будет обслуживать работу порталов.

3 лайка