Разрешения Drupal не применяются - PullRequest
1 голос
/ 22 июня 2011

Почему мои разрешения не применяются?

<code>
$items['admin/mymodule'] = array(
    'page callback' => 'mymodule_admin',
    'access arguments' => array("admin mymodule"),
    'access callback' => TRUE,
    'type' => MENU_NORMAL_ITEM,
    'file' => 'mymodule.admin.inc',
    'title' => 'mymodule',
  );</p>

<p>function mymodule_perm(){
  return array("admin mymodule", "earnings_report");
}

Когда я захожу в Mysite / admin / mymodule, я могу получить к нему доступ БЕЗ входа в систему.

Правильно настроены права администратора / пользователя / разрешениячтобы предоставить доступ только «разработчику сайта» и «администратору магазина», а анонимный пользователь не входит в эти роли.

Я попытался перейти в / admin / content / node-settings / rebuild и / admin /build / modules, но это не помогло.

Разрешение "yield_report" работает, как и ожидалось, а "admin mymodule" - нет.

Спасибо!

1 Ответ

1 голос
/ 22 июня 2011

Строка 'access callback' => TRUE, определяет, кто может получить доступ к admin/mymodule

. Вы установили для него значение ИСТИНА, что означает, что к нему всегда можно получить доступ.Я думаю, вам нужно изменить его на что-то вроде:

'access callback' => 'user_access',
'access arguments' => array('admin mymodule'), 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...