Wer ein neues Drupal-Portal aufsetzt, möchte außer dem Login häufig keine User-Registrierung ("Create new account") und eventuell auch keine Passwortanfrage ("Request new password") zulassen.
Abb. 1: Das Login-Formular mit Passwort-Anfrage und Registrierung
Zumindest die Registrierung soll dann natürlich auch nicht per Url ("meine-Url/user/register") erreichbar sein.
Registrierung abschalten
Leider läßt sich nur die Funktion "Create new account" über die Administration abschalten. Dazu gehe ich als Admin in die Konfiguration "admin/config/people/accounts". Dort stelle ich die Registrierung auf "Administrators only" um.
Abb. 2: Die Registrierung lässt sich in der Administration abschalten
Nun logge ich mich aus und rufe dann den normalen Login-Dialog mit 'meine-Url/user' wieder auf. Jetzt fehlt der Reiter mit der Möglichkeit der Registrierung, wie gewünscht.
Abb. 3: Die Passwort-Abfrage läßt sich nicht in der Administration abschalten
Auch ein Versuch, die Registrierung per "meine-Url/user/register" aufzurufen, schlägt fehl (access denied), was ebenfalls erwünscht war.
Damit könnte ich mich zufrieden geben. In die Verlegenheit, ein neues Passwort anfordern zu müssen, kann der Administrator oder ein von ihm legitimierter Nutzer ja durchaus kommen, so dass der verbleibende Reiter "Request new password" noch Sinn macht.
Passwortanforderung unsichtbar machen
Aus ästhetischen Gründen bevorzuge ich aber, auch den Reiter "Request new password" zu unterbinden. Leider gibt es hierfür keine Einstellmöglichkeiten mehr in der Drupal-Konfiguration. Deshalb muss man sich dafür mit einem kleinen selbstfabrizierten Modul helfen.
Ich erstelle ein neues Modul z.B. mit dem Namen "whr_hidepassrequest" mit einer einzigen Funktion (Hook) in der Datei "whr_hidepassrequest.module":
function whr_hidepassrequest_menu_alter(&$items) { // watchdog( // 'hr_disableureg', // 'menu-type: %val', // array('%val'=>$items['user/password']['type']), // WATCHDOG_NOTICE, // $link = NULL // ); $items['user/password']['type'] = MENU_CALLBACK; }
Nach der Aktivierung des Moduls sind der Link bzw. Reiter für "Neues Passwort anfordern" im Login-Formular nicht mehr sichtbar.
Das komplette Modul kann man sich aus meinem Repository herunterladen oder für die ganz Fixen:
git clone http://gitpub.stageanddeploy.com/hidepassrequest.git drush en hidepassrequest -y