Форум: "Базы";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];
Вниззащита данных PARADOX Найти похожие ветки
← →
Lusha (2002-03-27 11:35) [1]В Paradox структурах очень "продвинутая" система разграничения прав доступа. Она позволяет разделять пользователей на группы и в зависимости от принадлежности пользователя к той или иной группе разграничивать их права доступа (прям SQL сервер). Каждая конкрентная группа пользователей может получить доступ к конкретной таблице (вплоть до ее полей) для следующих операций с данными:
- All
- Insert & Delete
- Data Entry
- Update
- Read Only
Разумеется для того, чтобы группа пользователей получила доступ ко всем необходимым для ее работы таблицам, необходимо, чтобы она была прописана во всех требуемых таблицах.
Примечание: под группой пользователей я понимаю термин Auxiliary Password в терминологии Database Desktop.
Помимо групп пользователей прописанных в базе данных в виде Auxiliary passwords, также всегда будет неявно присутствовать группа пользователей "Администраторы" (владельцы master пароля).
А разграничение прав доступа в программе реализуется следующим образом:
1. В базе данных заводится таблица с перечнем пользователей
(и, например, одним блоб полем для хранения паролей, парольной истории и.т.п.). В этом поле (в закодированном виде), как минимум, должен хранится пароль пользователя и его группа доступа.
2. В программе при вводе пароля пользователем, производится анализ наличия такого пользователя и правильности пароля. Если все соответствует действительности из таблицы "вынимается" его группа доступа (она будет одинаковой для всех пользователей одной группы доступа), которая и становится паролем его рабочей сессии.
P.S. Все это в свое время было мной реализовано в одном из проектов. Если будут вопросы пишите...
Недостатком системы безопасности Paradox таблиц остается наличие backdoor master паролей. Правда я об этом узнал, когда система была завершена... :(
Удачи
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c