Zur Boardunity Forenstartseite

Zurück   Boardunity & Video Forum » Technik » Programmierung und Datenbanken

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 06.03.2007, 13:08
Benutzerbild von TRS
TRS TRS ist offline
Mitglied
 
Registriert seit: 02.2003
Ort: Berlin
Beiträge: 995

Idee gesucht: Ein Login - Mehrere Domains


Moin!

Aufgabe: Ein Login, mehrere Domains
Beispiel: Google Account

In einem aktuellen Projekt (Rails) ist es meine Aufgabe die Benutzerverwaltung ueber mehrere Domains zu verteilen. Das bedeutet, dass es eine zentrale Benutzerverwaltung existiert und mehrere Website auf diese zugreifen. Nach dem Login des Nutzers soll dieser auf jeder Website angemeldet sein. Als Werkzeug steht severseitige Programmierung, Javascript, Ajax, Iframes, Datenbankzugriff und weitere Techniken, die dem Ziel dienen.

Problem: Im Moment ist das Problem vor allem, dass die Daten nicht auf jeder Website zur Verfuegung stehen. Es ist absolut kein Problem einen einzelnen Login auf einer externen Seite durchzufuehren, aber die Uebertragung auf andere Domains ist komplex.

Also Jungs, wer hat Ideen?
  #2  
Alt 06.03.2007, 13:45
Benutzerbild von Luki
Administrator
 
Registriert seit: 02.2004
Ort: Hamburg
Beiträge: 486
so etwas gibt es: mach Dich mal über folgendes schlau:

OpenID: an actually distributed identity system
claimID.com - Manage your online identity
ClaimID - Single Sign On Login Systeme im Internet

  #3  
Alt 06.03.2007, 13:52
Benutzerbild von TRS
TRS TRS ist offline
Mitglied
 
Registriert seit: 02.2003
Ort: Berlin
Beiträge: 995
Eine Loesung wie openID ist problemlos umsetzbar, aber es weiterhin nicht moeglich den erfolgreichen Login auf alle Websites zu uebertragen. Aus diesem Grund ist openID ebenfalls keine Loesung. Das Ziel ist es ein Login fuer alle Websites zu entwickeln.

  #4  
Alt 06.03.2007, 15:02
Mitglied
 
Registriert seit: 10.2005
Beiträge: 80
Zitat:
Zitat von TRS Beitrag anzeigen
Eine Loesung wie openID ist problemlos umsetzbar, aber es weiterhin nicht moeglich den erfolgreichen Login auf alle Websites zu uebertragen. Aus diesem Grund ist openID ebenfalls keine Loesung. Das Ziel ist es ein Login fuer alle Websites zu entwickeln.
Halte ich nahezu für unmöglich! Da Du ja einen Cookie setzen müsstest und das geht ja nur domainweit! Sobald Deine Webseiten jeweils eine andere Domain haben, wird es schwer bis unmöglich, würde ich sagen.

Tobi

  #5  
Alt 06.03.2007, 18:55
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 811
Ich würde sagen, da hilft es nur eine zentrale Seite (login.domain.tld oder so) einzurichten, auf die beim ersten Besuch der jeweiligen Domain weitergeleitet wird und die bei Vorhandensein eines Cookies den auch für die entsprechende Domain setzt. Sollte er nicht gesetzt sein, kommt es natürlich zu kaum einer Veränderung (ein Cookie wär evtl. noch nötig um anzuzeigen, dass der Cookie-Check schon erfolgte), in beiden Fällen wird der User dann zurück zur Domain umgeleitet.

  #6  
Alt 07.03.2007, 11:56
Benutzerbild von TRS
TRS TRS ist offline
Mitglied
 
Registriert seit: 02.2003
Ort: Berlin
Beiträge: 995
In meinem Fall ist das Ziel, dass saemtliche Nutzer sofort unter allen Domains eingeloggt sind. Jedes Cookie ist an eine Domain gebunden und somit stehe ich vor Wahl:

1. Cookies: Fuer jede Domain ein Cookie zu setzen (afaik unmoeglich)
2. Iframes: Zentralisierter Login in einem Iframe. Das Cookie wird fuer die Domain des Iframes gesetzt und die Website muss die Informationen aus dem Iframe laden.
3. AJAX: Eine Moeglichkeit teste ich im Laufe des Abends heute.

Gru-ss

  #7  
Alt 07.03.2007, 14:31
Mitglied
 
Registriert seit: 09.2005
Ort: Ulm
Beiträge: 109
Also ich halte deine Gedanken für recht kritisch. Was willst du denn als Cookie speichern?

Die BenutzerID?
Dann ist es für jeden Hacker problemlos möglich, sich bei dir im beliebigen System als Benutzer 5 zu registrieren

Das Passwort des Benutzers?
Wie willst du sicherstellen, dass das iFrame nur von erlaubten Server eingebunden wird und damit nicht unerlaubt das Passwort eines Benutzers ausgelesen wird? Zumal Benutzerpasswörter in Cookies sowieso fraglich sind. Selbst wenn du einen eindeutigen String verwendest, ist die Gefahr groß, dass dieser String geklaut wird.

Du müsstest also - um den Sicherheitswillen - für jedes Angebot einen individuellen String erzeugen, der den Benutzer und das zuvor registrierte Projekt eindeutig kennzeichnet. Die iFrame-Problematik zeigt dir aber, dass damit jedes System vorgaukelbar ist und deine Idee angreifbar ist.

Wenn, dann funktioniert das nur über eine zentrale Login-Seite (eigenständig), welche per Link eine Anmeldung an ein zweites System weiterleitet. Die Daten können dann verschlüsselt übetragen werden.

Wurstbrot

  #8  
Alt 07.03.2007, 16:50
Benutzerbild von TRS
TRS TRS ist offline
Mitglied
 
Registriert seit: 02.2003
Ort: Berlin
Beiträge: 995
Zitat:
Zitat von wurstbrot Beitrag anzeigen
Also ich halte deine Gedanken für recht kritisch. Was willst du denn als Cookie speichern? [...] Dann ist es für jeden Hacker problemlos möglich, sich bei dir im beliebigen System als Benutzer 5 zu registrieren
Dies ist Abhaengig vom Verhalten des Nutzers. Erwuenscht der Nutzer einen temporaeren Zugang zu den Funktionen der Website, so wird dieser Login in einer Session gespeichert. Das Cookie beinhaltet die Session.id waehrend die Session in meinem Fall in der Datenbank gespeichert ist.

Ein permanenter Login erfordert jedoch die Speicherung der user.id sowie des user.password in verschluesselter Form. Beim Aufruf der Website erfolgt serverseitig ein Abgleich des Cookies mit der Datenbank. Wenn dieser erfolgreich ist, so wird eine Session eroeffnet. Wenn dieser mislingt, wird das Cookie geloescht.

Das Problem der permanten Speicherung eines Logins existiert in jeder Anwendung. Das vBulletin erlaubt es jedem Nutzer meines Computers in meinem Namen zu handeln. Amazon im Gegenzug verlangt fuer viele Funktionen die erneute Eingabe des Passworts.

Zitat:
Zitat von wurstbrot Beitrag anzeigen
Wie willst du sicherstellen, dass das iFrame nur von erlaubten Server eingebunden wird und damit nicht unerlaubt das Passwort eines Benutzers ausgelesen wird?
Gegenfrage: Warum sollte (irgend)eine Website das Passwort eines Nutzers ausgeben?

Leider speichern in der Realitaet viele Websites die Passwoerter der Nutzer im Klartext und bietet zusaetzlich noch Funktionen aus der Datenbank auszulesen...

Zitat:
Zitat von wurstbrot Beitrag anzeigen
Wenn, dann funktioniert das nur über eine zentrale Login-Seite (eigenständig), welche per Link eine Anmeldung an ein zweites System weiterleitet. Die Daten können dann verschlüsselt übetragen werden.
Das ist ein ziemlicher Umweg in meinen Augen, denn eine serverseitige Abfrage loest das Problem einfacher und schoener.

Um es zu betonen: Das Ziel ist, dass ein eingeloggter Nutzer unter allen Domains als eingeloggt erscheint. Die Loginfunktion zu zentralisieren ist ist in drei Sekunden gemacht mit <form action="http://domain.tld/user/login" ....

Gruss

  #9  
Alt 25.03.2007, 19:19
Benutzerbild von Jens*
:-)
 
Registriert seit: 07.2003
Ort: Ljubljana
Beiträge: 515
Bei vb.org habe ich dazu gerade folgendes entdeckt.
CES Cookie Cutter - Share Cookies Between Domains CES Cookie Cutter - Share Cookies Between Domains - vBulletin.org Forum

__________________
Jens
  #10  
Alt 25.03.2007, 19:51
Benutzerbild von MaMo
Viscacha Coder
 
Registriert seit: 09.2003
Beiträge: 812
Hi,

kann sich den mal jemand, der eine vB-Lizenz besitzt, herunterladen und die Technik hier dokumentieren? Würde mich sehr interessieren, aber ohne vB-Lizenz ist das schwer daran zu kommen

MaMo

__________________
Forensoftware mit integriertem CMS: Viscacha 0.8!
  #11  
Alt 21.05.2009, 03:40
Mitglied
 
Registriert seit: 10.2007
Beiträge: 18
Nach einer Lösung für diese Problem suche ich ebenfalls, die vBulletin Seite hab ich auch schon gefunden, allerdings wie mein Vorredner schon sagt bin ich ebenfalls nicht im Besitz einer vBulletin Lizenz sodass ich mir den Source nicht näher anschauen kann

Wäre schön wenn jemand mir dieses Modul zukommen lassen könnte oder halt selbst durchschaut und mir erklären kann wie das geht.

Cookies für andere tlds zu setzen funktioniert mit php ja so nicht. Allerdings habe ich irgendwo gelesen das man die php.ini so anpassen kann das es ggf doch möglich wäre. Leider hab ich den Link davon verbummelt

Also wenn jemand eine Lösung für das Problem gefunden hat wäre ich diesem sehr zu dank verpflichtet wenn er mich daran teilhaben lassen könnte.

Ich hatte jetzt noch die Idee das man von domain1.de einen cookie für domain1.de erstellen lässt und dann per php-header auf domain2.de weiterleitet welche dann einen cookie für domain2.de erstellt und diese wiederum weiterleitet auf domain3.de und jeweils per GET der Sessioncode übergeben wird. Das wäre zwar nicht das Gelbe vom Ei da man wenn ein neues Projekt hinzugefügt wird erst schauen müsste welches das zuletzt hinzugefügt Projekt wäre um dieses dann wieder zu erweitern aber vllt geht das ja so.

Bei Google und bspweise primusportal funktioniert das ja auch irgendwie nur leider find ich beim besten Willen kaum bis keine Informationen darüber

  #12  
Alt 21.05.2009, 12:53
Benutzerbild von JonnyX
Sir SeVeN
 
Registriert seit: 10.2005
Beiträge: 887
Wenn gar nichts klappt, könntest du ja auch eine kleine Desktop Software schreiben, wo er sich einloggen kann und von der App dann direkt zB die Seiten / Foren aufrufen kann.

beim einloggen überprüft die Software den Login und erstellt dann gleichzeitig die ganzen Cookies.

Sowas dann zB auch als Widget für Vista User würde sicher so manchen User sicherlich freuen, könnte ich mir vorstellen.

Antwort


Stichworte
-


Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Eine Idee für fis / fik.de Björn Community Management, Administration und Moderation 5 12.08.2007 12:57
Backuplösung für mehrere Datenbanken gesucht julia2000 Webspace, Webserver, Domains 4 27.03.2006 18:13
PHP: Aus str mehrere Arrays bauen TRS Programmierung und Datenbanken 2 26.10.2004 11:42
Projekt Idee: wwE Mecca Community Management, Administration und Moderation 5 26.05.2004 19:38






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25