加载主网站前的身份验证页面

时间:2015-07-25 10:37:31

标签: drupal

我正在使用Drupal 7.我需要任何用户(尚未登录)才能在浏览实际网站之前只看到登录屏幕进行身份验证。

如何做到这一点?我尝试使用Panels但没有成功。

1 个答案:

答案 0 :(得分: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);
 }
}