|
|
|
Supreme Being
      
участник
Last Login: 28.06.2007 10:01
Сообщ.: 244,
Visits: 2 268
|
|
Пдскажите как правильно и лучше организовать конструкцию из нескольких БД.
Есть БД юзверей (инфа, права, лог и т.д.) и несколько других БД-ресурсов, в которых предполагается использование этих юзверей (к примеру, форум и т.д.). Как можно организовать систему регистрации и учета пользователей к нескольким БД по одной БД-пользователей?
Надеюсь понятно. Заранее благодарен.
|
|
|
|
|
новичок
      
участник
Last Login: 09.09.2005 15:24
Сообщ.: 5,
Visits: 56
|
|
Если я правильно понял...
1. Делаем таблицу баз данных DBtable (db_id БД, db_name, и т.д.)
2. Делаем таблицу пользователей USERtable (user_id, user_name, user_age, и т.д.)
3. Делаем таблицу прав доступа RIGHTStable (user_id, db_id, "право на чтение", "право на запись", и т.д.).
Для определения доступа Пользователя с [bold]username[/bold] к базе [bold]dbname[/bold] делаем SELECT "право на чтение" FROM RIGHTStable, USERtable, DBtable WHERE RIGHTStable.user_id = USERtable.user_id and RIGHTStable.db_id = DBtable.db_id
Вроде так.
|
|
|
|
|
новичок
      
участник
Last Login: 09.09.2005 15:24
Сообщ.: 5,
Visits: 56
|
|
| С SELECT я, конечно, промахнулся... Там же разные файлы баз данных...
|
|
|
|
|
Supreme Being
      
участник
Last Login: 28.06.2007 10:01
Сообщ.: 244,
Visits: 2 268
|
|
| Ну спасибо конечно... если учесть ещё то, что эти БД находятся не на одной станции...
|
|
|
|
|
Supreme Being
      
участник
Last Login: 14.05.2003 9:56
Сообщ.: 99,
Visits: 1 090
|
|
| Ты не указал какая операционная система. Если винда и MSSQL то можно завязать на пользователях ActiveDirectory.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 29.09.2007 22:12
Сообщ.: 343,
Visits: 3 388
|
|
| Если InterBase/FireBird - там есть понятие роли(Role)... Аналог группы пользователей.. Права на доступ раздаются этим группам(ролям) SQL-командами grant(дать)/revoke(убрать).. Можно определить, кто что может делать: читать, добавлять, редактировать, удалять, запускать ХП.. Можно несколько прав, а можно и только одно.. Права определяются на СЕРВЕРЕ.. Конечно, можно применять вышесказанное и к отдельному юзверю..
|
|
|
|