在Drupal 7中保护页面(节点)的密码

在Drupal 7中保护页面(节点)的密码,drupal,drupal-7,password-protection,Drupal,Drupal 7,Password Protection,我有Drupal7站点,我需要添加一个受密码保护的页面(节点)。因为这是一次性的事情,我不想在Drupal中使用那些相当复杂的访问控制模块 任何想法,如何限制对节点的访问?我可以为此使用用户角色吗?这将是完美的,但似乎不是现成的 function theme_preprocess_node( &$variables ) { $allowed_roles = array("administrator", "media"); global $user; if($va

我有Drupal7站点,我需要添加一个受密码保护的页面(节点)。因为这是一次性的事情,我不想在Drupal中使用那些相当复杂的访问控制模块

任何想法,如何限制对节点的访问?我可以为此使用用户角色吗?这将是完美的,但似乎不是现成的

function theme_preprocess_node( &$variables )
{
    $allowed_roles = array("administrator", "media");

    global $user;
    if($variables['nid'] == NODEID)
    {
        foreach($user->roles as $role)
        {
            if(in_array($role, $allowed_roles))
                return;
        }
        drupal_goto("user"); //  redirect to login
    }
}

我使用上面的解决方案来处理这种情况。这对我来说是最好的解决方案,尽管对用户来说不是很详细:)

建议:创建另一个角色,并将您想要访问“密码”保护页面的人分配给该角色。只有当你有一个小网站的时候才真正有效。如何将页面限制在特定的角色上?我可以为块做,但不能为页面做?这里有一个链接,指向我刚才问的一个关于这个主题的问题。另一种选择是:在创建节点时选择
php-code
作为
文本格式
,然后输入如下内容: