Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

Passwort wird nicht verschickt

Eingetragen von fabske (185)
am 17.09.2009 - 16:53 Uhr in
  • Anfängerfragen
  • Drupal 6.x

Ich bin mir nicht sicher, aber irgendwie scheint ein Bug in Drupal 6.13 zu sein. Meine Einstellungen zur Benutzerverwaltung:
- "Besucher können neue Benutzerkonten beantragen, die jedoch von einem Administrator freigeschaltet werden müssen."

Nun Bearbeite ich die E-Mails die an den Benutzer geschickt werden:
"Willkommen, erwarte Freigabe für Verwaltung" und "E-Mail bei Benutzerkonto-Aktivierung".
In beide trage ich das erlaubte !password ein um dem Benutzer sein Passwort zu schicken, doch nur bei der Aktivierungsmail kommt es an. Bei der anderen steht einfach !password drin.

‹ [gelöst] Module "umziehen" nach sites/all/modules [Erledigt]Such box funtioniert nicht? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Warum dieser Weg?

Eingetragen von Nicolai Schwarz (1071)
am 18.09.2009 - 03:09 Uhr

Ich habe das eben mit einer Drupal 6.13-Installation ausprobiert. Habe denselben Effekt. Bei der "Willkommen, erwarte Freigabe für Verwaltung" wird ein Passwort verschickt. Bei der "E-Mail bei Benutzerkonto-Aktivierung"-Mail steht nur !password drin.

Aber warum willst du da ein Passwort verschicken? Der übliche Drupal-Weg ist ein Link, den der neue User anklickt. Damit kommt er ins System und kann selbst ein Passwort vergeben. Das kappt genausogut. Bzw. ist insofern besser, als dass der User sein Passwort selbst wählen kann.

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Meine Benutzer sind nicht so

Eingetragen von fabske (185)
am 18.09.2009 - 08:35 Uhr

Meine Benutzer sind nicht so bewandert und mögen das nicht. Sie wollen eine Mail mit Passwort und User und fertig.
Außerdem stellt sich nicht die Frage warum ich das so will, sondern was ich nun mache dass es funktioniert ;) Hat jemand eine Idee woran es liegen könnte?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Debug

Eingetragen von stBorchert (6003)
am 18.09.2009 - 08:54 Uhr

Probier mal Folgendes (zur Fehlersuche machen wir jetzt mal ein wenig Debugging):
Öffne die Datei modules/user/user.module und füge zwischen Zeile 2098 und 2099 folgenden Code ein (ja, wir verändern mal kurz den Core; das wird aber wieder rückgängig gemacht):

<?php
  drupal_set_message
('<pre>'. print_r($account, 1) .'</pre>');
 
drupal_set_message('<pre>'. print_r($tokens, 1) .'</pre>');
?>

Die Funktion user_mail_tokens sollte dann also so aussehen:

<?php
function user_mail_tokens($account, $language) {
  global
$base_url;
 
$tokens = array(
   
'!username' => $account->name,
   
'!site' => variable_get('site_name', 'Drupal'),
   
'!login_url' => user_pass_reset_url($account),
   
'!uri' => $base_url,
   
'!uri_brief' => preg_replace('!^https?://!', '', $base_url),
   
'!mailto' => $account->mail,
   
'!date' => format_date(time(), 'medium', '', NULL, $language->language),
   
'!login_uri' => url('user', array('absolute' => TRUE, 'language' => $language)),
   
'!edit_uri' => url('user/'. $account->uid .'/edit', array('absolute' => TRUE, 'language' => $language)),
  );
  if (!empty(
$account->password)) {
   
$tokens['!password'] = $account->password;
  }
 
drupal_set_message('<pre>'. print_r($account, 1) .'</pre>');
 
drupal_set_message('<pre>'. print_r($tokens, 1) .'</pre>');
  return
$tokens;
}
?>

Jetzt verschicke die Mails mal und schau, was da so beim Benutzeraccount und in den Tokens steht.
Möglicherweise ist das Kennwort leer?

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Dass das Kennwort leer ist

Eingetragen von fabske (185)
am 21.10.2010 - 22:36 Uhr

Dass das Kennwort leer ist glaub ich nicht, sonst würde es doch bei der ersten Mail nicht drin stehen! Hier die Ausgabe:

#

stdClass Object
(
    [uid] => 13
    [name] => eins
    [pass] => e9eebf5849dbbebcc156e1d52cb5dbd9
    [mail] => user@mail.de
    [mode] => 0
    [sort] => 0
    [threshold] => 0
    [theme] =>
    [signature] =>
    [signature_format] => 0
    [created] => 1253261746
    [access] => 0
    [login] => 0
    [status] => 0
    [timezone] => 7200
    [language] =>
    [picture] =>
    [init] => user@mail.de
    [data] => a:2:{s:13:"form_build_id";s:37:"form-5760506ece58708e72635337c32434a0";s:7:"contact";i:1;}
    [form_build_id] => form-5760506ece58708e72635337c32434a0
    [contact] => 1
    [roles] => Array
        (
            [2] => authenticated user
        )

    [profile_name] => eins
    [profile_vorname] => eins
    [profile_firma] => eins
    [profile_adresse] => eins
    [profile_telefon] => eins
    [profile_gabelstapler] => 1
    [profile_krane] => 0
    [password] => U4w2gmcbpJUU
)

#

Array
(
    [!username] => eins
    [!site] => testseite


    [!mailto] => user@mail.de
    [!date] => 18. September 2009 - 9:15


    [!password] => U4w2gmcbpJUU
)

#

stdClass Object
(
    [uid] => 13
    [name] => eins
    [pass] => e9eebf5849dbbebcc156e1d52cb5dbd9
    [mail] => user@mail.de
    [mode] => 0
    [sort] => 0
    [threshold] => 0
    [theme] =>
    [signature] =>
    [signature_format] => 0
    [created] => 1253261746
    [access] => 0
    [login] => 0
    [status] => 0
    [timezone] => 7200
    [language] =>
    [picture] =>
    [init] => user@mail.de
    [data] => a:2:{s:13:"form_build_id";s:37:"form-5760506ece58708e72635337c32434a0";s:7:"contact";i:1;}
    [form_build_id] => form-5760506ece58708e72635337c32434a0
    [contact] => 1
    [roles] => Array
        (
            [2] => authenticated user
        )

    [profile_name] => eins
    [profile_vorname] => eins
    [profile_firma] => eins
    [profile_adresse] => eins
    [profile_telefon] => eins
    [profile_gabelstapler] => 1
    [profile_krane] => 0
    [password] => U4w2gmcbpJUU
)

#

Array
(
    [!username] => eins
    [!site] => testseite


    [!mailto] => user@mail.de
    [!date] => 18. September 2009 - 9:15


    [!password] => U4w2gmcbpJUU
)

# Danke, dass Sie ein Benutzerkonto angefordert haben. Ihr Benutzerkonto muss noch vom Administrator der Website freigeschaltet werden.
In der Zwischenzeit wurde eine Willkommens-E-Mail mit einer Anleitung an Ihre Adresse geschickt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Token

Eingetragen von stBorchert (6003)
am 18.09.2009 - 09:24 Uhr

Ok, das Token ist also korrekt gesetzt. Bist Du sicher, dass Du das Token (!password auch wirklich im Mailtext drin hast? Falls der letzte Eintrag im Quote von eben der Text ist, steht da nirgends ein !password.

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ganz sicher. Hier die Mail

Eingetragen von fabske (185)
am 21.10.2010 - 22:36 Uhr

Ganz sicher. Hier die Mail zum entsprechenden User:

Guten Tag $profile_name  eins,

Ihr Benutzerkonto auf testseite ist nun freigeschaltet. Sie können sich zukünftig über
!password

Das $profile_name ist ein Test von mir, denn es gibt bei mir die Felder Vorname und Name und ich würde die Leute gerne mit Namen ansprechen, klappt aber leider nicht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Token

Eingetragen von stBorchert (6003)
am 18.09.2009 - 09:45 Uhr

fabske schrieb
Ganz sicher.

Schade.
Möglicherweise hat strtr ein Problem mit Ersetzungen am Zeilenanfang (was ein PHP-Bug wäre).
Versuch mal Folgendes in der Mail:

"Ihr Kennwort lautet: !password"

Vielleicht funktioniert es ja damit.

fabske schrieb
Das $profile_name ist ein Test von mir, denn es gibt bei mir die Felder Vorname und Name und ich würde die Leute gerne mit Namen ansprechen, klappt aber leider nicht.

Kann auch nicht, da die Variablen über Token eingefügt werden. Dazu müsste das User-Modul ein neues Token bereitstellen, dass dann mit den entsprechenden Werten gefüllt wird.
Vielleicht hilft da dieser Beitrag weiter.

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ein PHP Bug? Soll ich mal

Eingetragen von fabske (185)
am 18.09.2009 - 10:00 Uhr

Ein PHP Bug? Soll ich mal PHP updaten?

"Ihr Kennwort lautet: !password" hilft auch nix.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Fehler

Eingetragen von stBorchert (6003)
am 18.09.2009 - 10:18 Uhr
fabske schrieb

Ein PHP Bug? Soll ich mal PHP updaten?

Nee, musst Du nicht. Wenn das auch anders nicht funktioniert, kann das kein Fehler sein (klingt irgendwie seltsam :-) ).

Puh, so langsam weiss ich auch nicht wirklich weiter.
Was sagt denn ein

<?php
drupal_set_message
('<pre>'. print_r($variables, 1) .'</pre>');
?>
zwischen Zeile 1634 und 1635 in user.module (Funktion user_mail)?

hth,

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie soll das dann aussehen?

Eingetragen von fabske (185)
am 18.09.2009 - 11:00 Uhr

Wie soll das dann aussehen? Wenn ich es einfach so einfüge kommt ein Error:

function user_mail($key, &$message, $params) {
  $language = $message['language'];
  $variables = user_mail_tokens($params['account'], $language);
<?php
drupal_set_message
('<pre>'. print_r($variables, 1) .'</pre>');
?>

  $message['subject'] .= _user_mail_text($key .'_subject', $language, $variables);
  $message['body'][] = _user_mail_text($key .'_body', $language, $variables);
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

PHP

Eingetragen von stBorchert (6003)
am 18.09.2009 - 11:35 Uhr

Die php-Tags musst Du natürlich weglassen. Die Funktion ist ja schon im Sprachkontext PHP (wenn man das mal so ausdrücken mag).

 Stefan

--
sei nett zu Deinem Themer

  • Anmelden oder Registrieren um Kommentare zu schreiben

Und was möchtest du nun

Eingetragen von fabske (185)
am 18.09.2009 - 11:52 Uhr

Und was möchtest du nun haben? Nur wissen ob es funktioniert oder eine Ausgabe? Es funktioniert auch damit nicht :(

  • Anmelden oder Registrieren um Kommentare zu schreiben

These

Eingetragen von Nicolai Schwarz (1071)
am 18.09.2009 - 12:08 Uhr

Ich habe auch nochmal drüber nachgedacht und folgende Idee dazu: Wenn sich der neue User registriert, erzeugt Drupal das Passwort. Zu diesen Zeitpunkt kennt Drupal das reale Passwort und das md5-Passwort. Drupal kann das Passwort als plain text verschicken. Nun kommt es darauf an, was Drupal in der Datenbank speichert. Ich nehme an, dass nur das md5-Passwort gespeichert wird. In dem Fall kann Drupal bei seiner zweiten Mail das !password nicht auflösen, weil es das codierte Passwort nicht zurückrechnen kann. In der Mail kann nur dann das richtige Passwort stehen, wenn es sich Drupal sich für diesen Fall zusätzlich als plain text merkt.

Kann man einfach in der Datenbank nachschlagen, ob dem so ist oder nicht. Ich habe mir die Mühe jetzt gerade nicht gemacht.

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mir deucht du hast keine

Eingetragen von stebeg (463)
am 18.09.2009 - 12:12 Uhr

Mir deucht du hast keine Ahnung was

<?php
drupal_set_message
('<pre>'. print_r($variables, 1) .'</pre>');
?>

macht :-)

Das gibt dir den Inhalt von $variables aus, immer wenn die Funktion user_mail aufgerufen wird. Also registrier dich mal bei deiner Seite oder tu was auch immer du tun musst, damit einem neuen benutzer ne Mail zugeschickt bekommt. in $variables sind die Tokens gespeichert, dass heißt wenn user_mail aufgerufen wird kriegst ne Drupal-Message und kannst in der Message dann gucken ob der Token für dein Passwort leer is.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also These das klingt

Eingetragen von fabske (185)
am 18.09.2009 - 12:14 Uhr

Also These das klingt logisch! Aber an wen kann man sich jetzt wenden? Soll der Thread verschoben werden von Anfängerfragen?

Ich hab grad mal auf 6.14 geupdated, leider ohne Erfolg :(

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was tun?

Eingetragen von Nicolai Schwarz (1071)
am 18.09.2009 - 12:39 Uhr
Zitat:

Aber an wen kann man sich jetzt wenden?

Naja, um meine These zu überprüfen: Leg einen neuen User an. Merk dir das Passwort aus der generierten Mail. Und dann schau in die Datenbank, ob bei dem User nur das md5-Passwort gespeichert wurde - oder außerdem auch das plain-text-Passwort.

Falls nur das md5-Passwort gespeichert wurde, müsstet du den Anmeldenprozess so umschreiben, dass das System sich auch das plain-text-Passwort merkt. Wenn der Admin den User freischaltet, kann die zweite E-Mail mit dem plain-text-Passwort verschickt werden und du musst das plain text Passwort dann aus der Datenbank löschen.

Wobei es natürlich seinen Sinn hat, dass das Passwort codiert wird. Es sollen ja keine plain-text-Passworte in der Datenbank stehen.

--
textformer mediendesign | Webkrauts

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nicolai Schwarz

Eingetragen von fabske (185)
am 18.09.2009 - 13:32 Uhr
Nicolai Schwarz schrieb

Wobei es natürlich seinen Sinn hat, dass das Passwort codiert wird. Es sollen ja keine plain-text-Passworte in der Datenbank stehen.

Und genau das lässt mich solangsam zweifeln ob es sich um einen Programmier Bug oder einen Beschreibungs Bug handelt! In der Beschreibung zum Feld "E-Mail bei Benutzerkonto-Aktivierung" steht zwar dass im Text !password erlaubt sei, aber vielleicht sollte das da einfach nicht stehen ;)

PHP kann ich gar nicht und somit kann ich auch nix dran rumprogrammieren ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

<?php PHP kann ich gar nicht

Eingetragen von stebeg (463)
am 18.09.2009 - 14:04 Uhr
Zitat:

PHP kann ich gar nicht und somit kann ich auch nix dran rumprogrammieren ...

wie heißt es doch so schön, es ist nie zu spät etwas neues zu lernen :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

MD5

Eingetragen von wla (9461)
am 18.09.2009 - 14:06 Uhr

Das Passwort ist nur als MD5-Hash abgelegt und nicht als Klartext.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 5 Tagen
  • Hey danke
    vor 1 Woche 5 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 1 Tag
  • In der entsprechenden View
    vor 3 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 1 Tag
  • gelöst
    vor 5 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 27 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association