Drupal 7 - Passwort verschlüsselung in MySql Datenbank // Oder Drupal-User von außerhalb einfügen
am 06.06.2012 - 11:38 Uhr in
Hallo Zusammen,
ich sitze nun seit Tagen dabei ein Problem zu lösen, nun frage ich hier, in der Hoffnung eine Lösung zu finden oder einfach eine andere Herangehensweise.
Also schreibe derzeit an meiner Bachelor-Thesis und möchte von außerhalb einen neuen Drupal-Benutzer einfügen. Hintergrund ist der, ich Programmiere ein "Spiel" (zumindest einen Teil davon) dort kann man sich registieren und anmelden. Diesen Nutzer möchte ich auch bei Drupal einfügen können, damit in Drupal später seine Statistiken angezeigt werden können etc.
Sprich meine bisherige Idee war, in der Drupal-Datenbank die Tabelle "Users" einfach zu erweitern mit meinen gewünschten Benutzern, mein einziges Problem ist jedoch die Passwort-Verschlüsselung. Ab Drupal 7 wird ja nicht mehr die MD5 verschlüsselung benutzt, sondern sein SHA512 + Salt.
Mein Passwort kann ich mir mit der /drupal/scripts/password-hash.sh zwar erstellen, jedoch nur per Console. Ich führe jedoch meine SQL-Befehle über einen Java-Webservice (läuft auf Tomcat 7) aus.
Problem ist also, ich komme nicht an die password-hash.sh heran.
Kann ich mir auf einer anderen "Art und Weise" das Passwort generieren lassen oder gibt es eine ganz andere Möglichkeit, einen Bentzer von außerhalb einzufügen? Vielleicht muss man ja auch nur ein PHP-Script oder ähnliches aufrufen, welches einen Benutzer mit allem was dazugehört anlegt. Oder Alternativ, kann man die Verschlüsselung auf MD5 stellen?
Ich hoffe jemand kann mir helfen.
Gruß und danke um Vorraus
- Anmelden oder Registrieren um Kommentare zu schreiben

Sicherheit
am 06.06.2012 - 12:31 Uhr
Die Passwortsicherheit wurde bei Drupal7 verbessert.
Deshalb gibt es den Umweg, der sicherstellt, dass ein individuelles "Salt" für die Verschlüsselung benutzt wird.
Wenn du die Verschlüsselung in die Datenbank eintragen willst, kann dir nur Dr. Guttenberg helfen (Copy&Paste).
Dies sollte auch nur in seltenen Norfällen der Fall sein müssen.
Ansonsten kann jeder User, sofern seine E-Mailadresse richtig hinterlegt wurde und der Mailservice auf dem Server funktioniert, sich einen Einmalzugang zusenden lassen, mit dem er dann ein neues Passwort vergeben kann (Passwort vergessen).
Mache es doch umgekehrt.
Lasse den Benutzer in Drupal registrieren, und hole die Kerndaten für das Spiel aus der Usertabelle.
Das mit dem in Drupal
am 06.06.2012 - 12:45 Uhr
Das mit dem in Drupal registieren wäre eine "Notlösung".
Zudem möchte ich ja, dass sich die User in dem Spiel anmelden können, dafür muss ich aber das Passwort beim login verschlüsseln und mit dem in Drupal hinterlegtem vergleichen.
Verstehst du mein Problem? Wie soll man das sonst machen?
Ich muss ihrgentwie ein Passwort "123456" dazu bekommen "$S$DiLBEiLvO9RCO0gJwVYkOFuP1ICCbDTK6QTZITlFDhJa46X6IIca" und das ohne die Console.
Hast du in diesem
am 06.06.2012 - 15:18 Uhr
Hast du in diesem Zusammenhang schon einmal über die Nutzung von Web-Services nachgedacht ? Hier brauchst du dich dann um Sachen wie bspw. "Passwort verschlüsseln" bzw. das Neu-Anlegen von Nutzern direkt in der DB nicht kümmern. Außerdem arbeitest du so eher nach dem "Drupal-Way" - direkte Aktionen in der Datenbank sind nicht immer ratsam..
Weitere Infos zu Webservices in Drupal findest du hier:
http://drupal.org/project/services
http://www.amazon.de/Drupal-Web-Services-ebook/dp/B0057EURZM ( für Drupal 6 )
SteffenR
Wenn der Spielzugang immer über Drupal geschieht
am 06.06.2012 - 18:04 Uhr
Kann Drupal die Authentifigierung übernehmen.
In einem geschlossenen System, also wenn das Spiel innerhalb Drupals liegt, ist es nicht nötig, dass das Passwort durchgereicht wird.
Ansonsten muss man überlegen, wie man verhindert, dass außerhalb Drupals auf das Spiel zugegriffen werden kann.