Вы можете захватить условие в hook_init, приняв статус входа с помощью user_is_anonymous (), а затем с помощью 1-го аргумента запроса 'user'.
<?php
/**
* Implements hook_init().
*/
function mycustommodule_init() {
// if 1st argument is user, and they are not logged in, send them away
if (user_is_anonymous() && arg(0) == 'user') {
drupal_goto('http://example.com/login');
}
}
Если бы вы могли проходить аутентификацию за кулисами с помощью PHP, вы также могли бы сделать вход в систему невидимым, используя hook_user с операцией 'login'.