2015-07-25 4 views
0

Я использую Drupal 7. Мне нужен любой пользователь (который не вошел в систему), чтобы просто увидеть экран входа в систему только для аутентификации, прежде чем он сможет пересечь фактический веб-сайт.Страница аутентификации перед загрузкой основного сайта

Как это можно сделать? Я пытался сделать это с помощью панелей, но безуспешно.

ответ

0

Вы должны создать модуль.

hook_init() - это единственный крючок, в котором вы нуждаетесь. Внутри крюка init захватывает запрошенный путь.

Затем просто создайте оператор if, который оценивает, является ли параметр user_is_logged_in & & не тем же запрошенным путем, что и ваша страница входа. Используйте drupal_goto() свой логин. Здесь вся документация вам нужно:

Документация: https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_init/7 https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/request_uri/7 https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_goto/7

будет выглядеть следующим образом:

function YOUR_MODULE_NAME_init() { 
$requestPath = request_uri(); 
$loginPath = "/login-path"; 
if ((!user_is_logged_in()) && ($requestPath != $loginPath)) { 
    drupal_goto($loginPath); 
} 
} 
Смежные вопросы