Автоматическое назначение ролей при входе
Добавлено: 06 май 2005, 13:48
в статье посвященной SQL-ROLES
http://www.ibase.ru/devinfo/sqlroles.htm
описано следующее:
Распространенная ошибка: Часто встречается неправильное представление о механизме ролей, что после того как пользователю назначили роль, он сразу же получает все привилегии, выданные этой роли. Это неверно. Чтобы пользователь приобрел все привилегии, назначенные роли, он должен указать эту роль при подключении к базе данных. Если же пользователь при подключении не указал имя роли, то ему не будут доступны ни одна из привилегий этой роли.
Отсюда следует,чтобы применить соответствующую роль для входа ее необходимо указать явно! Соответственно, если пользователь укажет, например, при регистрации роль full_access он получет полный доступ, а если какую-то другую, то - другую!
Таким образом, возникают следующие вопросы:
1. В соответствии с вышеказанным, любой человек может применить любую роль, если к этому пользователю добавлена эта роль?
2. Каките права получает только что зарегистрированный пользователь ( Наверняка никакие, так как, если не прописаны никакие триггеры при добавлении пользователя на изменения прав доступа, то он вообще доступа не получит ни к одному элементу базы данных! ) ... или пользователя зарегистрированного без роли (наверняка только те права которые, явно прописаны для данного пользоателя)? Это так?
3. Как бы это так сделать, чтобы для пользователя сразу же применялась та единственная роль, которая прописана для этого пользователя!
4. Как можно отобразить роли примененные для указанного пользователя!
http://www.ibase.ru/devinfo/sqlroles.htm
описано следующее:
Распространенная ошибка: Часто встречается неправильное представление о механизме ролей, что после того как пользователю назначили роль, он сразу же получает все привилегии, выданные этой роли. Это неверно. Чтобы пользователь приобрел все привилегии, назначенные роли, он должен указать эту роль при подключении к базе данных. Если же пользователь при подключении не указал имя роли, то ему не будут доступны ни одна из привилегий этой роли.
Отсюда следует,чтобы применить соответствующую роль для входа ее необходимо указать явно! Соответственно, если пользователь укажет, например, при регистрации роль full_access он получет полный доступ, а если какую-то другую, то - другую!
Таким образом, возникают следующие вопросы:
1. В соответствии с вышеказанным, любой человек может применить любую роль, если к этому пользователю добавлена эта роль?
2. Каките права получает только что зарегистрированный пользователь ( Наверняка никакие, так как, если не прописаны никакие триггеры при добавлении пользователя на изменения прав доступа, то он вообще доступа не получит ни к одному элементу базы данных! ) ... или пользователя зарегистрированного без роли (наверняка только те права которые, явно прописаны для данного пользоателя)? Это так?
3. Как бы это так сделать, чтобы для пользователя сразу же применялась та единственная роль, которая прописана для этого пользователя!
4. Как можно отобразить роли примененные для указанного пользователя!