Как программно вызвать 403 Access Denied в модуле

Аватар пользователя xakd

Нужно при некоторых условиях в функции модуля выдать страницу 403. Но что-то рецепты 6-ки совсем не работают.
Пробовал<?php drupal_access_denied();?> - зависает, входит в цикл, <?php return drupal_access_denied(); ?>аналогично, <?php drupal_deliver_html_page(MENU_NOT_FOUND);?> - тоже самое.
В 6-ке все норм работало, как в семерке это корректно сделать при произвольных ситуациях в коде?

Ключевые слова:
Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя goodboy
goodboy 1 год назад

А вот так
drupal_add_http_header('Status', '403 Forbidden');

Аватар пользователя xakd
xakd 1 год назад

Нет, это инструкция просто зацикливает - как и остальные. Сотни сообщений в журнале, что ошибка 403.
При условии конечно что у нас 403 не определена - хотя в других ситуациях все работает, при попытке влезть в админку к примеру

Аватар пользователя negociant
negociant 1 год назад
drupal_access_denied();
drupal_exit();

и указали бы где конкретно пытаетесь вызывать drupal_access_denied().

Аватар пользователя xakd
xakd 1 год назад

Уберите из настроек адрес 403 - и попробуйте, циклится в итоге. Где не пробуй - пробовал в THEME_preprocess_page, пробовал в MODULE_init - бесполезно, пока не допетрил, что адрес можно попробовать ввести в настройки для 403.

Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.