2012-12-04 4 views
0

나는 드루팔 (Drupal) 7 사이트를 가지고 있으며 암호로 보호 된 한 페이지 (노드)를 추가해야합니다. 왜냐하면 이것은 드루팔 (Drupal)에서 꽤 복잡한 액세스 제어 모듈을 사용하지 않기를 바란다.드루팔 (Drupal 7)에서 페이지 (노드)를 보호하는 암호

어떤 아이디어, 노드에 대한 액세스를 제한하는 방법? 어떻게 든이 사용자 역할을 사용할 수 있습니까? 그것은 완벽 할 것이지만, out-of-box에서 작동하지 않는 것 같습니다.

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

이 상황을 처리하기 위해 위의 해결 방법을 사용했습니다. 그것은 나를 위해 최선의 해결책 이었지만, 사용자에게는 매우 장황하지 않습니다.