проектирование таблиц прав доступа

iceman

говнокодер
проектирование таблиц прав доступа

Есть фиксированное кол-во ресурсов, допустим: Обратная связь, новости
Есть роли, неограниченное кол-во.

хочу сделать как на форумах добавляется группа пользователей, в ней и настраиваешь доступ к ресурсу. НО еще к каждому ресурсу есть как бы под-ресурс, т.е. хочу чтобы можно было настроить например, удаление новости, добавление и т.д.

как мне спроектировать связующую таблицу ресурсов и групп?

первая идея у мення была такая:
СТОЛБЦЫ - это ресурсы, так как их кол-во фиксированное,
СТРОКИ - это группы, и там значение 1 - доступ разрешен, 0 - запрещен...
но если у меня много ресурсов, то список столбцов разрастется, и это как бы не удобно если я добавлю еще 1 ресурс, мне придется добавлять сами строки...

поделитесь опытом, пожалуйста...

-~{}~ 10.09.08 12:27:

проверил еще идею:

ресурсы в отдельной таблице
группы тоже в отдельной...

и связующая таблица
PHP:
res_gr {
  id, fk_gr, fk_res
}
и считать все fk_gr и fk_res к ним, если запись есть, то разрешен, нету - запрещено...

но вопрос всеравно актуален...
 

Farsh

~ on ~ high ~ wave ~
Я бы сделал так :

Таблица 1 - юзеры, внешний ключ к группам
Таблица 2 - группы
Таблица 3 - название ресурсов
Таблица 4 - названия под-ресурсов, внешний ключ к ресурсам
Таблица 5 - n:n, группы к ресурсам.

Но я не особо понял под чем подразумеваются ресурсы ( видимо разделы сайта чтоли? ) и отношение под-ресурсов к ним ( видимо возможности работы с каждым ресурсом? ) .

-~{}~ 10.09.08 12:33:

---
О, можно сказать опоздал ))
 

iceman

говнокодер
Автор оригинала: Farsh
Но я не особо понял под чем подразумеваются ресурсы ( видимо разделы сайта чтоли? ) и отношение под-ресурсов к ним ( видимо возможности работы с каждым ресурсом? ) .
ресурс - да допустим раздел сайта, как бы отдельный модуль

под-ресурс - это ограничение к каким либо действиям или данным в самом ресурсе (разделе сайта)
 
Сверху