Разделение прав по файлам модуля

This commit is contained in:
Podlesnov Phedor 2021-05-26 15:33:52 +03:00
parent 958033a057
commit e5dd6bded2
2 changed files with 6 additions and 6 deletions

View file

@ -47,11 +47,8 @@ class Controller_Front extends Controller_Action
return $module->access->execute($request);
}
if ($controller) {
$moduleFile = Shortcut::getUrl($this->shortcut, $name, $controller); // ModuleLoader (2)
} else {
$moduleFile = Shortcut::getUrl($this->shortcut, $name, $name); // ModuleLoader (2)
}
$suffix = ($controller) ? $controller : $name;
$moduleFile = Shortcut::getUrl($this->shortcut, $name, $suffix); // ModuleLoader (2)
$module = $this->loadClass($moduleFile, null, 'Module_');
if ($module) {
@ -75,6 +72,7 @@ class Controller_Front extends Controller_Action
$logger->before = $this->loadSettings(Shortcut::getUrl('logger', $name));
// Управление доступом
$module->access = $this->loadClass(__DIR__ . '/../Filter/ActionAccess.php', $logger, 'Filter_');
$module->access->name = $suffix;
$module->access->access = $this->loadSettings(Shortcut::getUrl('access', $name));
$module->setUp();

View file

@ -7,6 +7,7 @@ class Filter_ActionAccess
{
public $access = array();
public $processor;
public $name;
function __construct($processor/*: Filter_Filter*/) {
$this->processor = $processor;
@ -19,7 +20,8 @@ class Filter_ActionAccess
*/
function checkAction($action) {
// Импликация !! http://ru.wikipedia.org/wiki/Импликация
return (!isset($this->access[$action]) || in_array(Filter_UserAccess::$access, $this->access[$action]));
$name = $this->name;
return (!isset($this->access[$name][$action]) || in_array(Filter_UserAccess::$access, $this->access[$name][$action]));
}
function execute(HttpRequest $request) {