はい、コードは完全で、デフォルトのログインフォームと同じくらい安全です。
ただし、/user/loginフォームを置き換える場合は、ユーザーがそこに到達する可能性のあるすべてのシナリオ([site:login-url]トークン、他のモジュールなど)を検討し、リダイレクトまたはアクセス拒否の応答を介して適切に処理する必要があることに注意してください(たとえば、サイトで唯一の登録ユーザーになる場合)。
基本は次のとおりです。
リダイレクト
あなたがからユーザーをリダイレクトしたい場合/user/loginに/authenticate、何らかの理由で、あなたはどちらかを使用する必要がありますリダイレクトモジュールを、あるいは実装するhook_menu_alter()カスタムモジュールに:
function YOUR_MODULE_menu_alter(&$items) {
$items['user/login']['page callback'] = 'drupal_goto';
$items['user/login']['page arguments'] = 'authenticate';
}
交換
/user/login他のすべてのユーザーがアクセスできないようにする場合hook_menu_alter()は、カスタムモジュールにを再度実装することで、そのパスを無効にすることができます。
function YOUR_MODULE_menu_alter(&$items) {
$items['user/login']['access callback'] = FALSE;
}
ただし、すべてを徹底的にテストし、システム/user/loginに依存するモジュールがないこと、および影響を受けるワークフロー([site:login-url]トークンなど)がないことを確認する必要があることに注意してください。
お役に立てれば。