texrdcom
Новичок
система прав пользователя, проверка прав пользователя опр. функции приложения
Разрабатываю систему прав пользователя столкнулся с такой дилеммой:
1) Во время проверки доступа пользователя к определенному модулю решим идет проверка к целому модулю: Допустим модуль активируется через запрос /forum/ - проверяется имеет ли право пользователь читать данный раздел и так … дальше
2) Проблема когда один модуль к которому пользователь имеет доступ в некоторых случаях может запрашивать функцию с другого модуля, но другой модуль может быть не полностью разрешен для пользователя! Например не которые функции с него для примера admin_redaktor разрешена только определенной группе!, имя данной функции не где не фигурирует в строке запроса так как данная функция активируется автоматом при активации первого модуля!
Как сделать перехват данной функции (повторюсь в строке запроса, в параметрах запроса ее не существует).
Вижу три решения посоветуйте какое гибче луче использовать:
1) Функции которым нужна проверка прав пользователя в первом модуле вызываются таким методом:
$this->function_name__check($param, $param)
В классе существует функция function_name() для ее вызова определяем функции перегрузки __call($func, $param)
Дальше дело техники откидываем окончания в имени и вызываем функцию + передаем все параметры вызова.
2) Определяем определенную функцию через которую осуществляем вызов,
Таким методом:
$this->spez_function($functionName, $param)
3) в функции которая нуждаеться в проверки вызываем определенную функцию
function Function_name()
{
// Делаем вызов спец функции которая вернет либо true | false
if(false===$this->check_function(__METOD__))
{
return 'Не хватает прав';
}
// Продолжаем работу если все окей !
}
______________
Хотелось бы услышать как вы решаете такую задачу ?.
Какой метод использовать ?.
Передавать в параметрах вызова метки функций не хочется. Хочется проверку сделать гибкой и урло не зависимой.
Разрабатываю систему прав пользователя столкнулся с такой дилеммой:
1) Во время проверки доступа пользователя к определенному модулю решим идет проверка к целому модулю: Допустим модуль активируется через запрос /forum/ - проверяется имеет ли право пользователь читать данный раздел и так … дальше
2) Проблема когда один модуль к которому пользователь имеет доступ в некоторых случаях может запрашивать функцию с другого модуля, но другой модуль может быть не полностью разрешен для пользователя! Например не которые функции с него для примера admin_redaktor разрешена только определенной группе!, имя данной функции не где не фигурирует в строке запроса так как данная функция активируется автоматом при активации первого модуля!
Как сделать перехват данной функции (повторюсь в строке запроса, в параметрах запроса ее не существует).
Вижу три решения посоветуйте какое гибче луче использовать:
1) Функции которым нужна проверка прав пользователя в первом модуле вызываются таким методом:
$this->function_name__check($param, $param)
В классе существует функция function_name() для ее вызова определяем функции перегрузки __call($func, $param)
Дальше дело техники откидываем окончания в имени и вызываем функцию + передаем все параметры вызова.
2) Определяем определенную функцию через которую осуществляем вызов,
Таким методом:
$this->spez_function($functionName, $param)
3) в функции которая нуждаеться в проверки вызываем определенную функцию
function Function_name()
{
// Делаем вызов спец функции которая вернет либо true | false
if(false===$this->check_function(__METOD__))
{
return 'Не хватает прав';
}
// Продолжаем работу если все окей !
}
______________
Хотелось бы услышать как вы решаете такую задачу ?.
Какой метод использовать ?.
Передавать в параметрах вызова метки функций не хочется. Хочется проверку сделать гибкой и урло не зависимой.
Интересует сам механизм активации системы проверки,
сама система не принцепиальна...
читал но не использовал.