Zum Inhalt springen

fe_user - Passwort im BE generieren

Erstellt am 13. August 2010 · 3 Antworten · letzte Antwort am 17. April 2013

Tags: TCA, Frontend-Benutzer, Frage

sebastian_wr ·

Hallo zusammen,

hat jemand eine Idee, wie ich im Backend neben das Feld "Passwort" beim Bearbeiten eines FE-users einen Knopf packen kann, der mir ne JS-Funktion aufruft, ein PW generiert und in das Passwortfeld einträgt?

Der JS-Teil ist ja relativ simpel - die Frage ist, wie ich so einen Button neben/unter/über das Passwort-Feld bekomme.

Habe mir zwar schon das TCA angeschaut, hab da aber grad gar keine Idee, wie das aussehen könnte.

Hat da vielleicht jemand einen Ansatz zu? 🙂 Vielen, vielen Dank!

Viele Grüße,
Sebastian

deXx ·

Probier doch mal die Extension "nuxos_randompassword_1.0.2". Die setzt einen Button neben das Passwortfeld und generiert ein Passwort.

Ich bin auch auf der Suche nach einem Passwortgenerator, allerdings benötige ich etwas, das mehrere Fe-User auf einmal bearbeitet (ca. 1500) und zusätzlich eine E-Mail generiert, die dem User zugesandt wird (mit Benutzername + Passwort).

Gefunden habe ich nur leider nichts.

Den "dkd_passgenerator_1.0.0" wollte ich mal testen, bekomme es aber nicht hin. Es gibt dazu auch leider keine Anleitung ...

Kennt jemand eine gute Extension zum Passwort generieren?

Liebe Grüße
deXx

sebastian_wr ·

Hallo,

ich möchte an dieser Stelle mal kurz beschreiben, was ich dafür gemacht habe:

1) neue Extension mit dem Kickstarter angelegt, die mir meine benötigten Felder zur fe_user-Tabelle hinzufügt. Zusätzlich in der ext_tables.php folgendes Feld angelegt:

	'workflow_functions' => array (
		'exclude' => 1,
		'label' => 'LLL:EXT:myext/locallang_db.xml:fe_users.tx_myext_generatepassword',
		'config' => array(
			'type' => 'user',
			'userFunc' => 'EXT:myext/class.tx_myext_formElements.php:tx_myext_formElements->getGeneratorButton'
		)
	),

Die Funktion getGeneratorButton() in obiger Klasse gibt dann einfach den HTML-Code des Buttons zurück, der eine JS-Funktion aufruft, die ich in der gleichen Funktion per

$renderer = t3lib_div::makeInstance('t3lib_PageRenderer');
$renderer->addJsFile('../typo3conf/ext/myext/res/js/jquery.min.js');
$renderer->addJsFile('../typo3conf/ext/myext/res/js/tx_myext.js');

einbinde.

Diese macht einen Ajax-Request an die ajax.php mit der vorher in der ext_localconf.php definierten ajaxID meiner Generierungs-Funktion. Der Wert der zurückgegeben wird, trage ich dann in das Passwort-Feld ein:

	function generatePassword() {
		
		jQuery.ajax({
			   
			   url: "ajax.php",
			   data: "ajaxID=tx_myext_helpers::generatePassword&length=6",
			   success: function(msg){
			     
					jQuery("input[name$='[password]_hr']").val(msg);
					jQuery("input[name$='[password]']").val(msg);
										alert("Passwort generiert. Bitte den Eintrag speichern!");
			
			   }
			 });
	}

Et voila!

Wichtig: Das funktioniert nur solange, wie man nur einen fe_user pro Seite bearbeitet. Ansonsten werden alle Passwort-Felder mit dem gleichen Passwort überschrieben!

Viele Grüße,
Sebastian

spL ·

Schon eine Weile her - Aber gibt es hier auch eine Lösung für Salted PW's?
Die angesprochenen Extensions funktionieren zwar, aber mit Salted PW's lassen sich leider nur Sternchen sehen.