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 - 10: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 - 10: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 - 10: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 - 13: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

  • 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 3 Tagen
  • Hey danke
    vor 1 Woche 4 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 6 Tagen
  • In der entsprechenden View
    vor 2 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 6 Tagen
  • gelöst
    vor 5 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» 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 15 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