Ja, Ihr Code ist vollständig und genauso sicher wie das Standard-Anmeldeformular.
Beachten Sie jedoch, dass Sie, wenn Sie das /user/login
Formular ersetzen möchten, über alle Szenarien nachdenken müssen, in denen Benutzer dort landen könnten (z. B. [site:login-url]
Token, andere Module usw.), und diese über Weiterleitungen oder Antworten, denen der Zugriff verweigert wurde, angemessen behandeln müssen (zB wenn Sie der einzige registrierte Benutzer auf der Website sind).
Hier sind die Grundlagen:
Umleiten
Wenn Sie Benutzer umleiten aus wollen /user/login
zu /authenticate
welchem Grunde auch immer, müssen Sie entweder den verwenden Redirect Modul oder implementieren hook_menu_alter()
in Ihrem benutzerdefinierten Modul:
function YOUR_MODULE_menu_alter(&$items) {
$items['user/login']['page callback'] = 'drupal_goto';
$items['user/login']['page arguments'] = 'authenticate';
}
Ersetzen
Wenn Sie /user/login
allen anderen Benutzern den Zugriff verweigern möchten , können Sie diesen Pfad einfach deaktivieren, indem Sie Folgendes erneut hook_menu_alter()
in Ihrem benutzerdefinierten Modul implementieren :
function YOUR_MODULE_menu_alter(&$items) {
$items['user/login']['access callback'] = FALSE;
}
Beachten Sie jedoch, dass Sie alles gründlich testen müssen und sicherstellen müssen, dass Sie keine vom System abhängigen Module haben und dass /user/login
keine Workflows betroffen sind (z [site:login-url]
. B. Token).
Hoffe das hilft.