Разделение прав по файлам модуля
This commit is contained in:
parent
958033a057
commit
e5dd6bded2
2 changed files with 6 additions and 6 deletions
|
|
@ -47,11 +47,8 @@ class Controller_Front extends Controller_Action
|
||||||
return $module->access->execute($request);
|
return $module->access->execute($request);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($controller) {
|
$suffix = ($controller) ? $controller : $name;
|
||||||
$moduleFile = Shortcut::getUrl($this->shortcut, $name, $controller); // ModuleLoader (2)
|
$moduleFile = Shortcut::getUrl($this->shortcut, $name, $suffix); // ModuleLoader (2)
|
||||||
} else {
|
|
||||||
$moduleFile = Shortcut::getUrl($this->shortcut, $name, $name); // ModuleLoader (2)
|
|
||||||
}
|
|
||||||
|
|
||||||
$module = $this->loadClass($moduleFile, null, 'Module_');
|
$module = $this->loadClass($moduleFile, null, 'Module_');
|
||||||
if ($module) {
|
if ($module) {
|
||||||
|
|
@ -75,6 +72,7 @@ class Controller_Front extends Controller_Action
|
||||||
$logger->before = $this->loadSettings(Shortcut::getUrl('logger', $name));
|
$logger->before = $this->loadSettings(Shortcut::getUrl('logger', $name));
|
||||||
// Управление доступом
|
// Управление доступом
|
||||||
$module->access = $this->loadClass(__DIR__ . '/../Filter/ActionAccess.php', $logger, 'Filter_');
|
$module->access = $this->loadClass(__DIR__ . '/../Filter/ActionAccess.php', $logger, 'Filter_');
|
||||||
|
$module->access->name = $suffix;
|
||||||
$module->access->access = $this->loadSettings(Shortcut::getUrl('access', $name));
|
$module->access->access = $this->loadSettings(Shortcut::getUrl('access', $name));
|
||||||
|
|
||||||
$module->setUp();
|
$module->setUp();
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ class Filter_ActionAccess
|
||||||
{
|
{
|
||||||
public $access = array();
|
public $access = array();
|
||||||
public $processor;
|
public $processor;
|
||||||
|
public $name;
|
||||||
|
|
||||||
function __construct($processor/*: Filter_Filter*/) {
|
function __construct($processor/*: Filter_Filter*/) {
|
||||||
$this->processor = $processor;
|
$this->processor = $processor;
|
||||||
|
|
@ -19,7 +20,8 @@ class Filter_ActionAccess
|
||||||
*/
|
*/
|
||||||
function checkAction($action) {
|
function checkAction($action) {
|
||||||
// Импликация !! http://ru.wikipedia.org/wiki/Импликация
|
// Импликация !! 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) {
|
function execute(HttpRequest $request) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue