(Původně jsem položil tuto otázku na webapps.stackexchange.com .)
Ve výchozím nastavení, v Drupalu, poskytujeme formulář „nastavit nové heslo“, formulář požádá o uživatelské jméno webu nebo e-mailovou adresu. Pokud uživatel uvede uživatelské jméno nebo e-mailovou adresu spojenou s platným účtem, obdrží e-mail (na této adrese) s odkazem, který mu umožní nastavit nové heslo.
Chtěli bychom zajistit, aby všichni naši uživatelé používali aktuální e-mailovou adresu, a za tímto účelem bychom chtěli vypnout schopnost vložte uživatelské jméno. Když uživatel zadá uživatelské jméno, může odeslat zprávu na starou e-mailovou adresu, ale vrátí uživateli zprávu „Odesíláme vám e-mail“. Pokud zadají e-mailovou adresu, kterou nemáme, zobrazí se chybová zpráva, která je upozorní na skutečnost, že nás neudržovali v aktuálním stavu (a nutí je s námi kontaktovat e-mailem).
Můžeme to omezit pouze na e-mail?
Pokud se ptáte, zda to lze nakonfigurovat v administračním backendu, pak ne, nemůžete to udělat, příslušná funkce je aktuálně pevně zakódována v rámci ser_pass_validate () .
Pravděpodobně však již víte, že jednou ze sil Drupals je relativní snadnost, ve které ji lze programově přizpůsobit nebo rozšířit pomocí modules . Nevím o tom, že by existující existoval právě toto (ačkoli by mohl existovat nakonec , příslušný seznam se vztahoval k Přístup/autentizace uživatelů) je dost obrovské), ale tady je to, co by vývojář mohl udělat:
Přizpůsobení a potlačení přihlašovací stránky uživatele, registrace a obnovení hesla v Dru) pal 6
Abychom skutečně vypnuli možnost vložit uživatelské jméno , bylo by třeba přepsat existující funkci ověřování tvaru ser_pass_validate () vlastní kopie, která jednoduše přeskočí příslušnou kontrolu, tj. odebere kód, který se pokouší načíst účet podle jména (viz oddíl Ověření formulářů v rámci Stručný průvodce formulářem API pro počáteční bod).
Pro podrobnější odpověď (tj. Použitelná implementace, pokud budete mít štěstí), musím vás znovu odvést na další web Stack Exchange: můžete o to požádat prostřednictvím značka Drupal na Stack Overflow;)
Myslím, že to hledáte: http://drupal.org/project/email_registration