Работа с таблицами-связками. Как правильно организовать права доступа пользователя к модулям на сайте?

Рейтинг: 0Ответов: 3Опубликовано: 16.04.2011

В MySQL имеются таблицы:

users  
modules  
rights  

Таблица rights содержит два поля: uid (id пользователя из таблицы users, внешний ключ) и mid (id модуля, все аналогично).

В процессе аутинтификации происходит следующий запрос:

SELECT modules.mod_name 
FROM rights 
INNER JOIN modules ON rights.mod_id = modules.mod_id 
WHERE rights.uid = 1

Где 1 - может быть любым числом (id юзера), а в поле mod_name - техническое имя модуля. Результат запроса сохраняется в массив, и в дальнейшем, при построении страниц, сверяемся с этим массивом, чтобы знать, куда юзеру можно а куда нельзя.

Кто с подобным уже сталкивался? Я все верно делаю?

PS: И еще, хочу придумать отдельный метод для работы с таблицами-связками, т.к. дальше их будет еще больше. Какой алгоритм, в этом случае, будет смотрется лучше, и грамотнее?

Ответы

Ответов пока нет.