Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
dev:scada:userex [2014/02/12 13:32] alexeyb |
dev:scada:userex [2014/02/12 14:01] (текущий) alexeyb |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Расширенный контроль пользователей ====== | ====== Расширенный контроль пользователей ====== | ||
| + | **Настройка работы:** | ||
| + | - UserEx=1, права доступа будут загружены из users.fdb; | ||
| + | - UserEx=0, права доступа будут загружены из *mes.fdb; | ||
| + | - UserEx_log, обращения будут записаны в RPVISUAL.log; | ||
| + | - UserEx_CardReader, название модуля из RpSvrTcp; | ||
| + | - UserEx_DBName - путь до базы данных users.fdb. | ||
| - | {{:dev:scada:userex.jpg?400|}} | + | {{:dev:scada:userex.jpg?800|}} |
| - | | + | |
| + | **Регистрация карт:** | ||
| + | - В режиме UserEx=1, поднести нужную карту | ||
| + | |||
| + | {{:dev:scada:loginuserex.jpg?300|}} | ||
| + | |||
| + | - id карты запишется в cardlog | ||
| + | - в окне "UserEx - Администрирование", выбрать нужного пользователя | ||
| + | - кликнуть на кнопку "Выбрать" (Код карты) | ||
| + | - в списке выбрать появившийся ID. | ||
| + | |||
| + | {{:dev:scada:adminuserex.jpg?800|}} | ||
| + | |||
| + | {{:dev:scada:carduserex.jpg?400|}} | ||
| + | |||
| + | **Создание правил пользователям:** | ||
| + | |||
| + | - в окне "UserEx - Администрирование", "Группы", выбрать группу пользователя | ||
| + | |||
| + | {{:dev:scada:rulesuserex.jpg?400|}} | ||
| + | |||
| + | - В таблице "Правила пользователя" Выражение = регулярное выражение для перехвата и обработки. | ||
| + | - Разр. "да", значит разрешение данной группе обрабатывать действия данной группы; | ||
| + | - Разр. "нет", значит запрет данной группе. | ||
| + | - Разр. "-" ??? не знаю пока. | ||
| + | |||
| + | **Обработка действий для работы :** | ||
| + | |||
| + | - в нужный модуль добавить в раздел "uses" добавить UserControlEx | ||
| + | - добавить обработчик действия, отправляющий фильтруемое выражение в фильтр | ||
| + | - пример обработка нажатия TAdvGlowButton | ||
| + | - данный код вернет true, когда пользователю разрешен тип действий (содержится в Caption) | ||
| + | - также нажатия кнопки будет записано в rpvisual.log | ||
| + | |||
| + | <code pascal> | ||
| + | procedure TwndData02Form.checkPermission(Sender: TObject; | ||
| + | var bCan: Boolean); | ||
| + | begin | ||
| + | if isModeUserEx then | ||
| + | bCan := isPermitted('~'+(Sender as TAdvGlowButton).Caption); | ||
| + | end; | ||
| + | </code> | ||
| + | |||