Eigenen Login verwenden, welche Session Vars muss ich setzen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
timo_le
Mitglied
Beiträge: 18
Registriert: 12.10.2004 10:28

So tüftel tüftel

Beitrag 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.
Zuletzt geändert von timo_le am 21.10.2004 17:43, insgesamt 1-mal geändert.
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Re: So tüftel tüftel

Beitrag 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:
timo_le
Mitglied
Beiträge: 18
Registriert: 12.10.2004 10:28

Automatischer Login über Script aus der eigenen Page

Beitrag 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
mephiztophelez
Mitglied
Beiträge: 4
Registriert: 18.10.2004 16:45

Beitrag 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
timo_le
Mitglied
Beiträge: 18
Registriert: 12.10.2004 10:28

Beitrag 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:
timo_le
Mitglied
Beiträge: 18
Registriert: 12.10.2004 10:28

Beitrag von timo_le »

Hat das nu mal einer getestet????
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag 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....
timo_le
Mitglied
Beiträge: 18
Registriert: 12.10.2004 10:28

Beitrag 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:
timo_le
Mitglied
Beiträge: 18
Registriert: 12.10.2004 10:28

Autologin von eigener Page

Beitrag 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
timo_le
Mitglied
Beiträge: 18
Registriert: 12.10.2004 10:28

Beitrag 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:
Antworten

Zurück zu „Coding & Technik“