Пользователи приложения и пользователи СУБД

Оглавление  Назад  Далее

 В АльфаЦЕНТР Плюс реализован собственный механизм авторизации пользователей. Данный механизм напрямую не связан с авторизацией в СУБД Oracle и PostgreSQL. Рассмотрим следующие понятия:

Пользователь АльфаЦЕНТР Плюс - набор имени пользователя, пароля и другой информации о пользователе. Данный пользователь существует только в рамках АльфаЦЕНТР Плюс и используется для авторизации только в АльфаЦЕНТР Плюс. Пользователь может иметь один из уровней доступа - Администратор или Пользователь. Администратор имеет полный доступ к возможностям АльфаЦЕНТР Плюс, Пользователь - только к ограниченному функционалу;

Пользователь СУБД - набор имени пользователя и пароля. Данный пользователь описан в сервере БД и может быть использован для подключения к серверу БД из произвольного приложения. Данный пользователь может быть создан средствами СУБД или в модуле АльфаЦЕНТР Утилиты, форма "Диспетчер пользователей". Пользователь СУБД имеет различные права доступа к таблицам в БД. В зависимости от эти прав пользователь СУБД может иметь или не иметь возможность выполнять какие-либо операции с БД, например, право на выборку коммерческих данных имеют все пользователи СУБД, которые относятся к АльфаЦЕНТРу, а удаление точки учета вместе с данными может выполнить только основной пользователь СУБД - cnt.

 

Пользователь СУБД cnt имеет все необходимые права для выполнения всех операций в рамках работы ПО "АльфаЦЕНТР".

 

 При запуске АльфаЦЕНТР Плюс необходимо авторизоваться в приложении. Процедура авторизации состоит из следующих этапов:

Пользователь должен указать имя пользователя и его пароль. В данном случае требуется указать пользователь АльфаЦЕНТР Плюс и его пароль, а не пользователя СУБД;

После нажатия кнопки "ОК" программа пытается подключиться к серверу БД, используя параметры подключения к серверу, указанные в форме "Параметры подключения";

При успешном подключение к серверу БД, т.е. пользователь СУБД и его пароль в форме "Параметры подключения" указаны верно, программа запрашивает из БД информацию о пользователе АльфаЦЕНТР Плюс, который был указан при авторизации;

В случае неверного указания имени пользователя или пароля выводится соответствующее сообщение;

При правильном указании пользователя и пароля программа загружает дополнительную информацию о пользователе АльфаЦЕНТР Плюс, а именно уровень доступа и дополнительные параметры авторизации на сервере БД - имя пользователя СУБД, пароль и роль пользователя СУБД;

Если пользователь АльфаЦЕНТР Плюс имеет уровень доступа "Администратор", то для подключения к серверу БД АльфаЦЕНТР используются параметры подключения, указанные в форме "Параметры подключения" - по умолчанию, это пользователь СУБД cnt и его пароль. Таким образом пользователь АльфаЦЕНТР Плюс с уровнем доступа "Администратор" имеет все права на выполнения всех операций, необходимых при работе АльфаЦЕНТР Плюс;

Если пользователь АльфаЦЕНТР Плюс имеет уровень доступа "Пользователь", то для подключения к серверу БД АльфаЦЕНТР используются дополнительные параметры авторизации, которые могут ограничить права на выполнение различных операций на уровне сервера БД. Данные дополнительные параметры авторизации указываются в форме "Свойства пользователя", закладка "Дополнительно", группа "Дополнительная безопасность". Если указан пользователь СУБД для авторизации, то программа далее осуществляет подключение к серверу БД уже с новыми параметрами подключения, которые могут быть указаны для каждого пользователя АльфаЦЕНТР Плюс.

 

 Разграничение прав доступа пользователей АльфаЦЕНТР Плюс к различным объектам в БД АльфаЦЕНТР производится согласно настройкам пользователя АльфаЦЕНТР Плюс. Настройка прав доступа производится в форме "Доступ пользователя или роли" и форме "Доступ пользователя или роли с дополнительным элементам". По умолчанию пользователь с уровнем доступа "Пользователь" не имеет доступа ни к каким объектам, т.е. вновь созданному пользователю необходимо в явном виде выдать права на доступ к требуемым объектам - напрямую пользователю или через роли пользователей. По умолчанию пользователи с уровнен доступа "Администратор" имеют доступ ко всем объектам независимо от выданных прав доступа. Для ограничения доступа пользователей с доступом "Администратор" ко всем объектам необходимо:

задать доступ к требуемым объектам напрямую или через роли;

в свойствах приложения сбросить параметр "Доступ ко всем объектам и отчетам с доступом "Администратор" - форма "Параметры приложения", закладка "Системные", закладка "Основные";

После этого пользователи АльфаЦЕНТР Плюс с доступом "Администратор" будут иметь доступ только к тем объектам, права на которые им явно выданы;

 

 Таким образом имеем следующую картину разделения прав среди пользователей АльфаЦЕНТР Плюс:

имеется пользователь cnt - администратор системы, имеющий все необходимые права на операции и доступ ко всем объектам в БД АльфаЦЕНТР;

имеется пользователь (не cnt) с уровнем доступа "Администратор" - он имеет доступ ко всем объектам или только к указанным в зависимости от настройки приложения. Данный пользователь может выполнять все операции с доступными ему объектами в случае, когда для подключения данного пользователя АльфаЦЕНТР Плюс к серверу БД АльфаЦЕНТР использовался пользователь СУБД cnt. Если же использовался другой пользователь СУБД для подключения к серверу БД, то данный пользователь АльфаЦЕНТР Плюс не является администратором и не сможет выполнять функции приложения, которые требуют доступа к БД как пользователь СУБД cnt;

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

 

Типовые примеры использования разделения прав:

oНеобходим пользователь, которые имеет права доступа на некоторые объекты в БД АльфаЦЕНТР, при этом пользователь не может вносить какие-либо изменения в БД. В данном случае необходимо:

1.в модуле Утилиты, форма "Диспетчер пользователей" создать пользователя СУБД с правами только на просмотр;

2.в АльфаЦЕНТР Плюс, форма "Диспетчер пользователей" создать пользователя с уровнем доступа "Пользователь", в разделе "Дополнительная безопасность" выбрать роль пользователя "Только чтение" и указать имя пользователя СУБД и его пароль из пункта 1;

3.в АльфаЦЕНТР Плюс, форма "Доступ пользователя или роли" выбрать пользователя и указать объекты, расчетные группы, модели отображения, к которым пользователь АльфаЦЕНТР Плюс будет иметь доступ. Необходимо учитывать, что предоставление доступа к модели отображения не дает прав на доступ к элементам этой модели отображения. Для указания прав доступа к дополнительным элементам (шаблонам отчетов, отчетам модуля Генератор отчетов, формулам, спискам фидеров, спискам измерений, расчетным группам теплоучета) необходимо использовать форму "Доступ пользователя или роли к дополнительным элементам".

4.Использовать пользователя из пункта 2 для авторизации можно сразу после создания данного пользователя;

oНеобходим пользователь, которые имеет права доступа на некоторые объекты в БД АльфаЦЕНТР, при этом пользователь может выполнять все операции с доступными ему объектами. В данном случае необходимо:

1.в АльфаЦЕНТР Плюс, форма "Диспетчер пользователей" создать пользователя с уровнем доступа "Администратор";

2.в АльфаЦЕНТР Плюс, форма "Доступ пользователя или роли" выбрать пользователя и указать объекты, расчетные группы, модели отображения, к которым пользователь АльфаЦЕНТР Плюс будет иметь доступ. Необходимо учитывать, что предоставление доступа к модели отображения не дает прав на доступ к элементам этой модели отображения. Для указания прав доступа к дополнительным элементам (шаблонам отчетов, отчетам модуля Генератор отчетов, формулам, спискам фидеров, спискам измерений, расчетным группам теплоучета) необходимо использовать форму "Доступ пользователя или роли к дополнительным элементам";

3.в АльфаЦЕНТР Плюс, форма "Параметры приложения", закладка "Системные", закладка "Основные" сбросить параметр "Доступ ко всем объектам и отчетам с доступом "Администратор";

4.В параметрах подключения к серверу БД должен использоваться пользователь СУБД cnt.