2012-12-04 30 views
0

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

任何想法,如何限制节点访问?我可以以某种方式使用用户角色吗?这将是完美的,但似乎不是开箱即用。

+0

建议:创建另一个角色并将想要访问受密码保护页面的人员分配给该角色。只有当你有一个小网站时才有效。 – EGHDK

+0

如何将页面限制为某个角色?我可以做块,但不是页面? – Jasmo

+0

以下是我刚才提到的关于该主题的问题的链接。 http://drupal.stackexchange.com/questions/39002/set-a-page-to-show-only-to-registered-users – EGHDK

回答

1
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 
    } 
} 

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