Seite 2 von 4

So tüftel tüftel

Verfasst: 19.10.2004 03:21
von timo_le
Es ist nachts um 3 :evil:

Nun es Funktioniert, hier erstmal kurz zum testen der Code

Den Code in eine Datei und diese im eigenen Login Includen und zwar an der stelle wo sicher ist das der nutzer auch eine Berechtigung hat... wichtig
Also Nutzt ihr für die userdaten ghleich die tab von phpBB ist es am besten ansonsten müsst ihr die daten Syncroni.... wenn dieses Script includet wird muss sicher gestellt werden das der user mit name und passwort auch in der phpBB user steht.

die Vars $loginUsername $loginPassword werden vom Script erwartet password unbedingt in MD5 verschlüsselt.

Endgültige Version unter ------>>>> http://www.litix.de/phpBB/Autologin/index.php

Ich denke der erzeugt nun 2 Session es kommt aber zu keinen fehlermeldungen versuche mal das noch hinzubekommen ansonsten brauchen wir jetzt noch einen Logout einen umgedrehten login vom Forum aus und einen logout vom forum aus.

Re: So tüftel tüftel

Verfasst: 19.10.2004 12:29
von Blutgerinsel
timo_le hat geschrieben:Es ist nachts um 3 :evil:
Tja wenn du nicht auf die Idee kommst ins Bett zu gehen :lol:

Automatischer Login über Script aus der eigenen Page

Verfasst: 19.10.2004 13:50
von timo_le
Also was passiert, im Grunde Automatisiert das Script den Anmelde Prozess.

Manuell geht es ja so:
1.Anmeldung bei der eigenen Benutzerverwaltung
2.Ist die Anmeldung Ok wird meistens eine Session erzeugt in der z.B die user_id hinterlegt ist
3.klick auf den Link ins Forum Forum erscheint und wir müssen uns erneut anmelden
4. Es wird von phpBB eine Session erzeugt und in der DB gespeichert

Also in dieser Form sind immer 2 Sessions aktiv dürfte also kein Problem sein.

Bei Autologin geht es so:
1.Anmeldung bei der eigenen Benutzerverwaltung
2.Ist die Anmeldung Ok wird meistens eine Session erzeugt in der z.B die user_id hinterlegt ist, username und Password wird an unsere Autoscript Datei übermittelt die mit include in die Benutzeranmeldung integriert ist.
3.klick auf den Link ins Forum, Forum erscheint und wir sind bereits angedmeldet


Vorteil bis hier her kein Eingriff in PHPBB Scriptcode und damit kompatibel zu späteren Versionen, falls nicht reicht Änderung in der Include Datei.

Test1
Apache/2.0.52 (Win32) mod_ssl/2.0.52 OpenSSL/0.9.7d PHP/5.0.2 auf lokalen Win Rechner
Session Config des Servers: session.name=PHPSESSID session.use_trans_sid=0
Es gibt keine Probleme.

Test2
Linux /Apache/1.3.27 CGI/FastCGI /PHP Version 4.3.4
Session Config des Servers: session.name=PHPSESSID session.use_trans_sid=on
Es gibt keine Probleme

Test: http://www.litix.de/phpBB/Autologin/index.php

Dickes Achtung:
Das Script darf erst an der Stelle eingebunden werden wo sicher ist, dass der Benutzer in der php_user Tabelle auch vorhanden und Aktiv ist. Ich nutze für den Test gleich die php_user Tabelle als eigene User Tabelle für meine Registrierten Kunden, sollte eine andere Tabelle für den eigenen login Prozess zuständig sein muss vor der Einbindung des Skriptes ein Datenabgleich durchgeführt werden, so das der user am ende auch in der php_user steht und Aktiv ist und erst dann das Script einbinden.

Weiter geht’s mit logout…….
Glaubensfrage??
Wenn sich ein Benutzer abmeldet muss er auch im Forum abgemeldet werden.
Aber was ist wenn er nur im Forum auf Logout geht???
Soll er dann nur im Forum abgemeldet werden oder gleich komplett??
Ist es nicht besser das Logout im Forum gleich ganz auszublenden so dass ein Logout im Forum nicht mehr möglich ist???

Nun wir solls sein??
Timo
Script für automatischen login

Verfasst: 19.10.2004 13:58
von mephiztophelez
@Logout:

Ich habe das bei uns so gemacht, dass im Forum gar keine Möglichkeit mehr besteht sich an- bzw. abzumelden. Du kannst ja trotzdem einen Link hinmachen, der dann aber zum Login-bzw. Logout deiner eigenen Verwaltung zeigt.

Christoph

Verfasst: 19.10.2004 14:04
von timo_le
Ja so dachte ich mir das schon:
werde es so machen:

Benutzerverwaltung:
Login = Login in BV und in phpBB
Logout = Logout in BV und in phpBB

phpBB
Login zeigt auf Login benutzerverwaltung
Logout zeigt auf Logout benutzerverwaltung

:cookie:

Verfasst: 19.10.2004 14:05
von timo_le
Hat das nu mal einer getestet????

Verfasst: 19.10.2004 15:10
von Blutgerinsel
Das ist blödsinnig mit einer zweiten Session.....
Genau ist es unmöglich was vernünftiges zu machen ohne am Quelltext rumzuspielen des Boardes.....

Howto Do:

Datenabgleich:
-> Forumregistration, User löschen -> Pflege der UM-Table

AutoLogin: (via UM)
-> Setze PHPBB Cookie
-> Lese PHPBB Cookie

Login: (via UM)
-> Stimme UM Session auf Rules von PHPBB ab
-> Fülle UM Session Table
-> Fülle PHPBB Session Table
-> Übergebe SESSION via HTTP POST an das Forum auch zweites Fenster denkbar
-> Baue ins PHPBB neue Session Logik ein wenn von HTTP Session empfangen erstelle diese Session ansonsten erstelle selber eine eigene

Dadurch sind immer noch wenn gewünscht unabhängige Logins möglich....

Ausloggen: (via UM)
-> Lösche PHPBB Cookie
-> Setze UM Session Table Status logout (bei mir Sessiontime NULL)
-> Setze PHPBB Session Table Status logout (Ablauf noch unklar, da keine Zeit)

Via Forumseite entsprechend auch....

Verfasst: 19.10.2004 18:18
von timo_le
klar sind 2 Session nicht optimal aber es geht schnell umzusetzen und bei einer normalen nutzung des Forums ist es ja auch nicht anders. Zugriff auf die Daten habe ich trotzdem mit der user_id kann ich auf alles zugreifen so das ich die phpBB Session für meine Anwendung nicht benötige.

Ich könnte sogar ohne die phpBB Session auf die pn inbox zugreifen also in meiner Anwendung z.B. anzeigen ob private Nachrichten da sind, über die recent Variante könnte ich sogar noch die letzten Beiträge inkl. Statistik anzeigen, was will man mehr.

Datenpflege:
Besser ist man nutzt für die Anmeldung die phpbb_user tabelle, eigene Daten zum User speichert man in einer eigenen tabelle der schlüssel ist der username oder besser die User_Id. Damit ist die Pflege einfach, Login Infos und Infos zur Board Einstellung in der php_user der Rest in der z.b. Kunden DB, man könnte dann bei der Mitglieder Anzeige vom Bord noch extra Daten anzeigen bis hin zum persöhnlichen Gästebuch oder so, es gibt da viele Möglichkeiten.

Umbau der phpBB session:
war auch mein erster Gedanke, jedoch basiert diese auf richtig guten Funktionen und in diese einzugreifen würde sher viel arbeit machen.
PostNuke macht das z.B so, allerdings ist dann phpBB soweit geändert, dass die phpBB als eigene Mod version anbieten.

Umbau der UM session
Denke das dies der richtige weg ist, lass phpBB die Session starten übernehme diese in mein UM system und erweitere Sie.

Aber vieleicht denke ich nur falsch, allerdings bin ich Lösungs bezogen, dass heißt, es muss nicht schön sein wenns eh keiner sieht, hauptsache es funzt.

Timo

erstmal was --->>>> :cookie:

Autologin von eigener Page

Verfasst: 21.10.2004 10:18
von timo_le
Ich bin fertig, funktioniert alles super. Bsp. und Download

http://www.litix.de/phpBB/Autologin/index.php

Autologin über Cookie habe ich erstmal weggelassen ist aber möglich, wird natürlich auch beschrieben.
:o

Verfasst: 21.10.2004 14:35
von timo_le
So will mal kurze Beschreibung machen und auf die anderen Varianten hier eingehen. Die eigene Benutzerverwaltung wird gestartet und man ist erstmal Offline linkt man zum Forum ist man dort auch Offline.
1.
Meldet man sich bei seiner Benutzerverwaltung an wir man auch Automatisch bei phpBB angemeldet
2.
Meldet man sich beim noch Offline Forum an wird man auch in seiner Benutzerverwaltung angemeldet, die Links oben (Login oder Logout) verweisen auf die eigene Benutzerverwaltung sowie das Login Formular unten auf der Seite.
3.
Meldet man sich bei seiner Benutzerverwaltung ab, wird man auch im Forum abgemeldet andersrum funktioniert das genauso.

Fertig, so ist die Funktionsweise von Autologin. Eigentlich ganz einfach und so funktioniert es: Die eigene Benutzerverwaltung (UM) wird, wie auch immer das bei euch ist, gestartet und erzeugt eine Session nach Eingabe der Daten werden diese verglichen, haut alles hin seit Ihr Online und genau da greift Autologin ins Geschehen ein, an der Stelle wo sicher ist, dass der Zugang gestattet wird, müsst Ihr per Include die a_login.php einbinden. Include unterbricht die Ausführung des Scriptes und führt erstmal den Code in der a_login.php aus dieser bewirkt eine Anmeldung bei phpBB ist die a_login abgearbeitet geht’s mit eureren UM Script weiter.
Bei logout, bindet an der Stelle wo sicher ist das es einen logout gibt per Include die a_logout.php ein.
:lol: