Разграничение прав
Разграничение прав
Добрый день.
У меня есть вопрос. есть БД, которой пользуется Н-е количество людей. все они деляться на несколько групп (по правам доступа на уровне клиентской программы). также по правам доступа ограничиваются в записи в определенные таблицы.
Но, в этой же базе есть тблица с данными о всех пользователях. При загрузке программы юзер загружает эти данные (со своего поля). Как сделать так, чтобы он мог видеть в таблице только свое поле (а если sysdba, то все)
Firebird 2.0 + IBX
У меня есть вопрос. есть БД, которой пользуется Н-е количество людей. все они деляться на несколько групп (по правам доступа на уровне клиентской программы). также по правам доступа ограничиваются в записи в определенные таблицы.
Но, в этой же базе есть тблица с данными о всех пользователях. При загрузке программы юзер загружает эти данные (со своего поля). Как сделать так, чтобы он мог видеть в таблице только свое поле (а если sysdba, то все)
Firebird 2.0 + IBX
Думаю, посто был неправильно интерпретирован. Запись - подразумевается операция записи.WildSery писал(а):Ты уж определись - записи или всё же поля.
Это совершенно разная секьюрити. И решения для них тоже различные.
Нужно сделать так, чтобы все юзеры, кроме sysdba при select'e получали только свою запись и не более.
И в добавок: нужно сделать так, чтобы только некоторые поля были для редактирования самим юзером, а остальные писались только через sysdba
-
- Сообщения: 250
- Зарегистрирован: 25 июл 2007, 21:33
Ну и в чём вопрос? Создать соответствующие роли в БД и задать для соответствующих групп юзеров соответствующие роли?sax_on писал(а):Думаю, посто был неправильно интерпретирован. Запись - подразумевается операция записи.WildSery писал(а):Ты уж определись - записи или всё же поля.
Это совершенно разная секьюрити. И решения для них тоже различные.
Нужно сделать так, чтобы все юзеры, кроме sysdba при select'e получали только свою запись и не более.
И в добавок: нужно сделать так, чтобы только некоторые поля были для редактирования самим юзером, а остальные писались только через sysdba
Вьюшка с соответствующей секцией where тебе поможет.sax_on писал(а):Нужно сделать так, чтобы все юзеры, кроме sysdba при select'e получали только свою запись и не более.
Раздай права всем (можно и PUBLIC'у) на update только нужных полей, а sysdba всё равно сможет редактировать все. Только в триггере желательно проверку сделать на то, что обычный пользователь редактирует именно свою запись. Или всё то же самое через хранимую процедуру.sax_on писал(а):И в добавок: нужно сделать так, чтобы только некоторые поля были для редактирования самим юзером, а остальные писались только через sysdba
все на сайте.
www.ibase.ru/devinfo/sqlroles.htm
по разграничению прав на уровне записей есть статья
www.ibase.ru/devinfo/treedb2.htm
там есть еще пара ссылок на варианты реализации.
www.ibase.ru/devinfo/sqlroles.htm
по разграничению прав на уровне записей есть статья
www.ibase.ru/devinfo/treedb2.htm
там есть еще пара ссылок на варианты реализации.