Ja, Ihr Code ist vollständig und genauso sicher wie das Standard-Anmeldeformular.
Beachten Sie jedoch, dass Sie, wenn Sie das /user/loginFormular 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/loginzu /authenticatewelchem 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/loginallen 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/loginkeine Workflows betroffen sind (z [site:login-url]. B. Token).
Hoffe das hilft.