Пользователи приложения и пользователи СУБД |
Оглавление Назад Далее |
|
В АльфаЦЕНТР Плюс реализован собственный механизм авторизации пользователей. Данный механизм напрямую не связан с авторизацией в СУБД Oracle и PostgreSQL. Рассмотрим следующие понятия: •Пользователь АльфаЦЕНТР Плюс - набор имени пользователя, пароля и другой информации о пользователе. Данный пользователь существует только в рамках АльфаЦЕНТР Плюс и используется для авторизации только в АльфаЦЕНТР Плюс. Пользователь может иметь один из уровней доступа - Администратор или Пользователь. Администратор имеет полный доступ к возможностям АльфаЦЕНТР Плюс, Пользователь - только к ограниченному функционалу; •Пользователь СУБД - набор имени пользователя и пароля. Данный пользователь описан в сервере БД и может быть использован для подключения к серверу БД из произвольного приложения. Данный пользователь может быть создан средствами СУБД или в модуле АльфаЦЕНТР Утилиты, форма "Диспетчер пользователей". Пользователь СУБД имеет различные права доступа к таблицам в БД. В зависимости от эти прав пользователь СУБД может иметь или не иметь возможность выполнять какие-либо операции с БД, например, право на выборку коммерческих данных имеют все пользователи СУБД, которые относятся к АльфаЦЕНТРу, а удаление точки учета вместе с данными может выполнить только основной пользователь СУБД - cnt.
Пользователь СУБД cnt имеет все необходимые права для выполнения всех операций в рамках работы ПО "АльфаЦЕНТР".
При запуске АльфаЦЕНТР Плюс необходимо авторизоваться в приложении. Процедура авторизации состоит из следующих этапов: •Пользователь должен указать имя пользователя и его пароль. В данном случае требуется указать пользователь АльфаЦЕНТР Плюс и его пароль, а не пользователя СУБД; •После нажатия кнопки "ОК" программа пытается подключиться к серверу БД, используя параметры подключения к серверу, указанные в форме "Параметры подключения"; •При успешном подключение к серверу БД, т.е. пользователь СУБД и его пароль в форме "Параметры подключения" указаны верно, программа запрашивает из БД информацию о пользователе АльфаЦЕНТР Плюс, который был указан при авторизации; •В случае неверного указания имени пользователя или пароля выводится соответствующее сообщение; •При правильном указании пользователя и пароля программа загружает дополнительную информацию о пользователе АльфаЦЕНТР Плюс, а именно уровень доступа и дополнительные параметры авторизации на сервере БД - имя пользователя СУБД, пароль и роль пользователя СУБД; •Если пользователь АльфаЦЕНТР Плюс имеет уровень доступа "Администратор", то для подключения к серверу БД АльфаЦЕНТР используются параметры подключения, указанные в форме "Параметры подключения" - по умолчанию, это пользователь СУБД cnt и его пароль. Таким образом пользователь АльфаЦЕНТР Плюс с уровнем доступа "Администратор" имеет все права на выполнения всех операций, необходимых при работе АльфаЦЕНТР Плюс; •Если пользователь АльфаЦЕНТР Плюс имеет уровень доступа "Пользователь", то для подключения к серверу БД АльфаЦЕНТР используются дополнительные параметры авторизации, которые могут ограничить права на выполнение различных операций на уровне сервера БД. Данные дополнительные параметры авторизации указываются в форме "Свойства пользователя", закладка "Дополнительно", группа "Дополнительная безопасность". Если указан пользователь СУБД для авторизации, то программа далее осуществляет подключение к серверу БД уже с новыми параметрами подключения, которые могут быть указаны для каждого пользователя АльфаЦЕНТР Плюс.
Разграничение прав доступа пользователей АльфаЦЕНТР Плюс к различным объектам в БД АльфаЦЕНТР производится согласно настройкам пользователя АльфаЦЕНТР Плюс. Настройка прав доступа производится в форме "Доступ пользователя или роли" и форме "Доступ пользователя или роли с дополнительным элементам". По умолчанию пользователь с уровнем доступа "Пользователь" не имеет доступа ни к каким объектам, т.е. вновь созданному пользователю необходимо в явном виде выдать права на доступ к требуемым объектам - напрямую пользователю или через роли пользователей. По умолчанию пользователи с уровнен доступа "Администратор" имеют доступ ко всем объектам независимо от выданных прав доступа. Для ограничения доступа пользователей с доступом "Администратор" ко всем объектам необходимо: •задать доступ к требуемым объектам напрямую или через роли; •в свойствах приложения сбросить параметр "Доступ ко всем объектам и отчетам с доступом "Администратор" - форма "Параметры приложения", закладка "Системные", закладка "Основные"; После этого пользователи АльфаЦЕНТР Плюс с доступом "Администратор" будут иметь доступ только к тем объектам, права на которые им явно выданы;
Таким образом имеем следующую картину разделения прав среди пользователей АльфаЦЕНТР Плюс: •имеется пользователь cnt - администратор системы, имеющий все необходимые права на операции и доступ ко всем объектам в БД АльфаЦЕНТР; •имеется пользователь (не cnt) с уровнем доступа "Администратор" - он имеет доступ ко всем объектам или только к указанным в зависимости от настройки приложения. Данный пользователь может выполнять все операции с доступными ему объектами в случае, когда для подключения данного пользователя АльфаЦЕНТР Плюс к серверу БД АльфаЦЕНТР использовался пользователь СУБД cnt. Если же использовался другой пользователь СУБД для подключения к серверу БД, то данный пользователь АльфаЦЕНТР Плюс не является администратором и не сможет выполнять функции приложения, которые требуют доступа к БД как пользователь СУБД cnt; •имеется пользователь с уровнем доступа "Пользователь" - он имеет доступ только к тем объектам, права на которые ему были явно выданы. Пользователь по умолчанию ограничен в функциях приложения, например, он не может выполнять операции, которые потребуют изменения данных в БД. Пользователю могут быть предоставлены дополнительные права на доступ к явно указанным функциям приложения. Выполнить данные функции приложения пользователь сможет, если у пользователя СУБД, который использовался для подключения к серверу БД, есть необходимые права.
Типовые примеры использования разделения прав: oНеобходим пользователь, которые имеет права доступа на некоторые объекты в БД АльфаЦЕНТР, при этом пользователь не может вносить какие-либо изменения в БД. В данном случае необходимо: 1.в модуле Утилиты, форма "Диспетчер пользователей" создать пользователя СУБД с правами только на просмотр; 2.в АльфаЦЕНТР Плюс, форма "Диспетчер пользователей" создать пользователя с уровнем доступа "Пользователь", в разделе "Дополнительная безопасность" выбрать роль пользователя "Только чтение" и указать имя пользователя СУБД и его пароль из пункта 1; 3.в АльфаЦЕНТР Плюс, форма "Доступ пользователя или роли" выбрать пользователя и указать объекты, расчетные группы, модели отображения, к которым пользователь АльфаЦЕНТР Плюс будет иметь доступ. Необходимо учитывать, что предоставление доступа к модели отображения не дает прав на доступ к элементам этой модели отображения. Для указания прав доступа к дополнительным элементам (шаблонам отчетов, отчетам модуля Генератор отчетов, формулам, спискам фидеров, спискам измерений, расчетным группам теплоучета) необходимо использовать форму "Доступ пользователя или роли к дополнительным элементам". 4.Использовать пользователя из пункта 2 для авторизации можно сразу после создания данного пользователя; oНеобходим пользователь, которые имеет права доступа на некоторые объекты в БД АльфаЦЕНТР, при этом пользователь может выполнять все операции с доступными ему объектами. В данном случае необходимо: 1.в АльфаЦЕНТР Плюс, форма "Диспетчер пользователей" создать пользователя с уровнем доступа "Администратор"; 2.в АльфаЦЕНТР Плюс, форма "Доступ пользователя или роли" выбрать пользователя и указать объекты, расчетные группы, модели отображения, к которым пользователь АльфаЦЕНТР Плюс будет иметь доступ. Необходимо учитывать, что предоставление доступа к модели отображения не дает прав на доступ к элементам этой модели отображения. Для указания прав доступа к дополнительным элементам (шаблонам отчетов, отчетам модуля Генератор отчетов, формулам, спискам фидеров, спискам измерений, расчетным группам теплоучета) необходимо использовать форму "Доступ пользователя или роли к дополнительным элементам"; 3.в АльфаЦЕНТР Плюс, форма "Параметры приложения", закладка "Системные", закладка "Основные" сбросить параметр "Доступ ко всем объектам и отчетам с доступом "Администратор"; 4.В параметрах подключения к серверу БД должен использоваться пользователь СУБД cnt. |