.RU
Карта сайта

Безопасность - 2009 «Корпорация парус» 01. 09. 2009 Оглавление Введение 6 Основные принципы платформы «Торнадо» 7

Безопасность


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

Под выделением прав понимается разрешение или запрещение действий над объектами системы. Запрещение имеет больше приоритет, чем разрешение. Т.е., если пользователь одновременно принадлежит двум группам, для одной из которых разрешено выполнение какого-либо действия, а другой запрещено, то пользователю, принадлежащим одновременно этим двум группам данное действие запрещено.

Платформа предоставляет два режима функционирования безопасности:

Типовая безопасность


Типовая безопасность позволяет определять права пользователей на выполнение действий с объектами бизнес-классов. Данная механика полностью поддерживается системой и не требует от прикладного разработчика каких-либо вмешательств. Недостатком типовой безопасности является накладываемые на администратора системы знаний как о самих бизнес-классах, так и об их использовании в разделах бизнес-приложения.

Бизнес-операции


В целях облегчения процесса настройки прав администратором системы платформа предоставляет механику безопасности, основанной на бизнес-операциях.

Бизнес-операция – совокупность действий, процедур, составляющих содержание одного акта бизнес-деятельности.

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

С точки зрения прикладного разработчика, бизнес-операцию можно рассматривать как набор отдельных действий над различными объектами, который (набор действий) в рамках назначения прав будет интерпретироваться как одно целое. Данная механика требует от прикладного разработчика определять состав каждой бизнес-операции на этапе разработки бизнес-приложения.

Объектами бизнес-операции, над которыми выполняются те или иные действия, являются:

Каждая бизнес-операция может включать различный набор объектов, каждый из которых может определять различный набор действий над ним.

Для каждого раздела определяется свой набор бизнес-операций (Backend).

Backend – именованный набор операций над бизнес объектами и запросами, попадающих под действие механизма безопасности сервера.

После привязки раздела к Backend начинает действовать механика безопасности через бизнес-операции. Бизнес-операции назначаются на переходы раздела и на точки извлечения данных.

Механика безопасности


Проверка прав осуществляется на стороне сервера, когда клиент обращается к серверу для выполнения того или иного действия.

Если в разделе используется Backend, то действует механика проверки прав через бизнес-операции. В противном случае используется механика типовой безопасности.

Для бизнес-классов определены следующие действия в рамках проверки прав:

var newObject = objectManager.NewObject(typeof (IMyBusinessClass));

string stringId = obj.GetCurrentSelection().FocusedId;

var obj = objectManager.GetObject(stringId);

  1. Каждый раз при вызове метода бизнес-класса.

  2. При закрытии транзакции с подтверждением изменений (commit).

Закрытие транзакции обычно описывается декларативно в разделе на переходах (TransactionAction = Commit). Императивно закрытие транзакции определяется методом Commit.

Пример прикладного кода, поясняющий моменты передачи состояния объекта с клиента на сервер:

var transaction = objectManager.BeginTransaction();

var obj = (IMyBusinessClass) objectManager.GetObject(stringId);

obj.MyAttribute = "новое значение";

// Следующие три строчки работают в рамках проверки разрешения на изменение объекта

obj.MyMethod(); // передача состояния объекта на сервер

obj.MyMethod(); // передача состояния объекта на сервер ещё раз

transaction.Commit(); // передача состояния объекта на сервер третий раз

string stringId = obj.GetCurrentSelection().FocusedId;

objectManager.DeleteObjects(stringId);

var obj = (IMyBusinessClass) objectManager.NewObject(typeof(IMyBusinessClass));

obj.MyMethod();

Для запросов (относиться только к бизнес-операциям) определено только одно действие в рамках проверки прав – выполнение. Клиент может выполнять только те запросы, которые зарегистрированы на сервере. В клиентской части бизнес-приложения данные запросы располагаются в разделе в точках извлечения данных и регистрируется в системе в момент развертывания пакета.
2014-07-19 18:44
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • © sanaalar.ru
    Образовательные документы для студентов.