/ / Używanie Drupala do uwierzytelnienia innego niż Drupal - apache, drupal

Używanie Drupala do uwierzytelniania bez Drupala - apache, drupal

Mam w sieci serwer Apache z Drupalemkorzeń. Mam również trochę treści innych niż Drupal w podkatalogach katalogu głównego. Chciałbym, aby zawartość nie-Drupal była niedostępna, chyba że użytkownik najpierw zalogował się do Drupala.

Natknąłem się na mod_auth_mysql (wprowadź tutaj opis linku), ale nie do końca tego chcę. Wymaga, aby użytkownik zalogował się dwa razy (raz do Drupala i raz dla treści innej niż Drupal).

Wyobrażam sobie, że rozwiązaniem mogłoby być uruchomienie skryptu .htaccess w celu ustalenia, czy użytkownik jest zalogowany. Skrypt ten musiałby być podłączony do systemu Drupal.

Czy można użyć .htaccess do uruchomienia skryptu w celu ustalenia, czy należy przyznać dostęp?

Czy jest lepsze rozwiązanie?

Odpowiedzi:

1 dla odpowiedzi № 1

Zaimplementowałem to, częściowo ładując Drupala (poprzez DRUPAL_BOOTSTRAP_SESSION), a następnie sprawdzając globalny $ user.

<?php
$base_url = "http://".$_SERVER["HTTP_HOST"];
$drupal_path = "../../";
$cdir = getcwd();
chdir($drupal_path);
require_once "includes/bootstrap.inc";
drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION);
chdir($cdir);

global $user;

$access_granted = in_array("authenticated user", $user->roles);
if (!$access_granted):
//Show page
else:
//Show access denied
endif;
?>