Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Single-Sign-On von Drupal und phpRaider3

Eingetragen von Weaz (6)
am 14.06.2010 - 11:02 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo!

Ich betreibe eine Gildenhomepage über Drupal und habe parallel einen Raidplaner auf Basis von phpRaider3 am Laufen. Zur Zeit müssen meine Besucher sich auf beiden Seiten extra anmelden. Ich möchte jedoch diesem (unnötigen) Umstand Abhilfe schaffen und folgendes einrichten:

1. Bei Account-Erstellung in Drupal soll automatisch auch ein Account im phpRaider angelegt werden.
2. Beim Einloggen in Drupal sollen automatisch zwei Cookies gesetzt werden: Username im Klartext, Passwort als MD5.

Das müsste doch eigentlcih möglich sein, wenn ich die Drupal-PHPs direkt verändere oder? Ich habe mich etwas im Modul "User" umgeschaut, bin aber noch nicht 100% sicher, an welcher Stelle genau ich die SQL-Befehle einfügen muss. Meine Fragen:

Ist mein Gedankengang richtig, dass ich in Drupal nach der User-Registrierung einfach die SQL-Behle einfügen kann, die der phpRaider zum Erstellen eines neuen Nutzerkontos nutzt (INSERT etc).?
Ist es außerdem korrekt, dass ich bei erfolgter Anmeldung per setcookie einfach die Cookies setze? Wenn ja, aus welcher Variablen kann ich das Passwort und den Nutzernamen auslesen?
Kann mir vielleicht jemand den genauen Ort "im Drupal" sagen, an dem ich den Code einfügen muss?

Vielen Dank für die Hilfe!

‹ gelöst: User login url Drupal 7 Menüpunkte werden nicht angeigt ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

hook_user

Eingetragen von stBorchert (6003)
am 14.06.2010 - 11:27 Uhr

Hallo.

Weaz schrieb

1. Bei Account-Erstellung in Drupal soll automatisch auch ein Account im phpRaider angelegt werden.
2. Beim Einloggen in Drupal sollen automatisch zwei Cookies gesetzt werden: Username im Klartext, Passwort als MD5.

Ok, das sollte machbar sein.

Weaz schrieb

Das müsste doch eigentlcih möglich sein, wenn ich die Drupal-PHPs direkt verändere oder? Ich habe mich etwas im Modul "User" umgeschaut, bin aber noch nicht 100% sicher, an welcher Stelle genau ich die SQL-Befehle einfügen muss.

STOP! An den Dateien des Drupal-Kerns und auch anderer Modul wird nichts geändert! Nie.
1. baust Du Dir damit unter Umständen Sicherheitslücken und anderen Probleme ein und 2. ist die Änderung nach dem nächsten Update wieder weg.
Also nein, Du änderst nichts an der Datei user.module.

Weaz schrieb

Kann mir vielleicht jemand den genauen Ort "im Drupal" sagen, an dem ich den Code einfügen muss?

Erstelle Dir ein Modul und verwende dort eine Implementierung von [api:hook_user], um bei Neuanlage eines Benutzers Deine Funktionen auszuführen. Den Benutzernamen und das Kennwort hast Du dann im dort verfügbaren Objekt $account vorliegen.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die prompte

Eingetragen von Weaz (6)
am 14.06.2010 - 11:35 Uhr

Danke für die prompte Antwort, ich werde mich mal mit der hook_user()-Funktion beschäftigen und hier ggfls. rückmelden.
Die Möglichkeit eines Updates, das die Änderungen zunichte macht, habe ich gar nicht in Erwägung gezogen. Vielen Dank auch hierfür :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hier meine SSo-Lösung

Eingetragen von Weaz (6)
am 14.06.2010 - 14:55 Uhr

Danke noch einmal für den Super-Tipp, es hat fast auf Anhieb geklappt, wie ich das wollte!

Das Single-Sign-On klappt schonmal - für alle, die das so ähnlich brauchen:
(www.test.de ist hier Beispiel diue Webseite, der phpraider3 ist über raids.test.de erreichbar)

Hier der Code aus der sso.info:

; $Id$
name = SSO
description = Bietet Single Sign on fuer Drupal und den phpRaider3
core = 6.x

Und die dazugehörige sso.module:

<?php
function sso_user($op, &$edit, &$account, $category = NULL) {
 
// Cookies setzen beim Einloggen
 
if ($op == 'login') {
   
setcookie("username", $account->name, 0, "", ".test.de"); //.test.de, damit Cookie
   
setcookie("password", $account->pass, 0, "", ".test.de");  // in der gesamten Domain erreichbar ist
 
}

 
// Cookies löschen beim Abmelden
 
if ($op == 'logout') {
   
setcookie("username", $account->name, time() - 3600, "", ".test.de");
   
setcookie("password", $account->pass, time() - 3600, "", ".test.de");
  }

}
?>

An der "Einmal-Registrierung" arbeite ich noch, ich muss die SQL-Befehle des phpRaiders noch finden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
Weiter

Neue Kommentare

  • Verwende doch das Tag dafür,
    vor 2 Wochen 6 Tagen
  • Guckst du hier: step by step
    vor 2 Wochen 5 Tagen
  • Guckst du hier: step by step
    vor 2 Wochen 5 Tagen
  • Ich habe ja keine Angst vor
    vor 4 Wochen 23 Stunden
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 4 Wochen 3 Tagen
  • Vielen Dank erst einmal, aber
    vor 4 Wochen 4 Tagen
  • Du hast die "Trusted host
    vor 4 Wochen 5 Tagen
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 6 Wochen 4 Tagen
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 7 Wochen 18 Stunden
  • Arrrrg. Nix Tabelle :-D /*
    vor 11 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250284
Registrierte User: 20508

Neue User:

  • Marvinkep
  • RandallFloop
  • Inga GuAph

» Alle User anzeigen

User nach Punkten sortiert:
wla9464
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 69 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