/ / Uso de Drupal para la autenticación no Drupal - apache, drupal

Uso de Drupal para Autenticación que no sea de Drupal: apache, drupal

Tengo un servidor web Apache con Drupal en la webraíz. También tengo algo de contenido no Drupal en los subdirectorios de la raíz. Me gustaría que no se pueda acceder al contenido que no es de Drupal a menos que el usuario haya iniciado sesión en Drupal primero.

Me he encontrado con mod_auth_mysql (ingrese la descripción del enlace aquí), pero eso no es exactamente lo que quiero. Requiere que el usuario inicie sesión dos veces (una vez en Drupal y una vez para el contenido que no sea de Drupal).

Me imagino que la solución sería algo como tener .htaccess ejecutando un script para determinar si el usuario ha iniciado sesión. Este script tendría que estar conectado al sistema Drupal.

¿Es posible usar .htaccess para ejecutar un script para determinar si se debe otorgar acceso?

¿O hay una solución mejor?

Respuestas

1 para la respuesta № 1

He implementado esto cargando parcialmente Drupal (a través de DRUPAL_BOOTSTRAP_SESSION) y luego verificando $ user global.

<?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;
?>