Многоуровневый доступ...

Demiurg

Guest
Ядро, которое подгруэает модуль перед тем, как подгрузить его проверяет есть ли у пользователя права на него.
 

IntenT

SkyDiver
Demiurg
Ядро, которое подгруэает модуль перед тем, как подгрузить его проверяет есть ли у пользователя права на него.
Как это согласуется с твоими словами о том, что ядро ничего ге должно знать о модуле?? (соотв и какие права на модуль разрешают использование модуля)??
 

Astral Man

We Will Rock You
Demiurg Значит в ядре должна быть функция которая проверяет доступ.
обращение к модулю index.php?mod=name_mod
Эта функция должна смотреть значение переменной переданной GET и проверять доступ.

А как быть с навигационным меню, как там выводить ссылки на модули которые доступны только этому пользователю?
 

Demiurg

Guest
Я же говорю, что ядро должно знать где можно взять информацию о модуле.
Вообще надо определиться, что ты понимаешь под модулем и ядром, что бы не заблудиться в абстракциях окончательно.
 

Demiurg

Guest
>Demiurg Значит в ядре должна быть функция которая проверяет доступ.
>обращение к модулю index.php?mod=name_mod
>Эта функция должна смотреть значение переменной переданной GET и проверять доступ.
да именно так.

>А как быть с навигационным меню, как там выводить ссылки
>на модули которые доступны только этому пользователю?
ядро берет список всех модулей и выводит только те, на которые у пользователя есть права. ЗВучит как что то странное, на самом деле, обычно, это один запрос.
 

Astral Man

We Will Rock You
Автор оригинала: Demiurg
ядро берет список всех модулей и выводит только те, на которые у пользователя есть права.
Проблема в следующем:
Навигационное меню это блок который можно вставить куда захочешь. Если мне надо меню слева я его инклудю там где лево.
Или в этом блоке вызывать функцию из ядра которая проверяет доступ?
 

Demiurg

Guest
>Или в этом блоке вызывать функцию из ядра которая проверяет доступ?
ну да. ты шаблонными движками не пользуешься ?
 

Astral Man

We Will Rock You
Demiurg Нет, пытаюсь сам движок написать, а мозгов пока не совсем хватает :)
А что за шаблонные движки?
 

Astral Man

We Will Rock You
Вот так можно?:
После авторизации пользователя его id пишем в сессию.
Имеем таблицы:
group_acc: |id_group|id_user|access|
modules: |id_mod|id_group|
mod_acc: |id_mod|id_user|access|
Смотрим к какой группе относится пользователь и доступ к группе, смотрим какие модули входят в эту группу, проверяем доступ к модулям.
 

Demiurg

Guest
Ну так ты все таблицы покажи, а не три первых.
 

Demiurg

Guest
Получается, что у тебя каждый пользователь может иметь несколько групп ? и каждая группа состоит из одного пользователя ?
 

Astral Man

We Will Rock You
В группу может входить несколько пользователей, и несколько групп можкт быть у любого пользователя.
 

Demiurg

Guest
приведи пример, когда в группе несколько пользователей
 
Сверху