auth-Plugin für Webspell
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
- Mitglied
- Beiträge: 8
- Registriert: 13.01.2010 13:57
auth-Plugin für Webspell
Hallo erst mal.
Da meine bisherige Suche und meine (An-)Frage, ob es denn bereits ein (funktionierendes) Auth-Plugin für die Verbindung phpBB & Webspell gibt, ohne nennenswerten Erfolg bzw. bisher ohne Rückmeldung waren, schreibe ich an meinem eigenen weiter.
Ich code das ganze erst mal auf einem Webserver lokal bei mir im Netzwerk, daher spielt die Sicherheit vorerst eine untergeordnete Rolle. Im ersten Schritt versuche ich gleichzeitige Anmeldung an beiden Systemen (phpBB & Webspell) zu bewerkstelligen. Auf http://wiki.phpbb.com/Authentication_plugins ist ja eigentlich recht gut erklärt, wie vorzugehen ist.
Nun hab ich aber (sicher auf Grund meiner schlechten Englisch- und den, bisher noch schlechternen php-Kenntnissen) ein kleines Verständnis-Problem bei der Umsetzung meines Vorhabens. Aber vielleicht kann mir einer der erfahrenen phpBB-Coder ja kurz meine Fragen beantworten und so ein paar Unklarheiten aus dem Weg räumen.
Liege ich Richtig oder Falsch:
1. In die Funktion "login_method()" frage ich ab, ob der Benutzer existiert --> Wenn ja, liefere ich ein Array mit u.a. 'status' => LOGIN_SUCCESS zurück --> phpBB loggt den Benuter ein (also setzt ohne weiteres zutun von mir die Session-cookies) / Wenn nein .. ok, eine andere Baustelle ?
2. (vielleicht zu speziell) In die Funktion "login_method()", bevor ich 'status' => LOGIN_SUCCESS übergebe, kann ich auch die Session-cookies für Webspell erzeugen lassen, was mich dort ja auch als eingeloggt ausgeben müsste?
3. Für was genau brauch ich denn die Funktion "autologin_method()" ? Oder setze ich hier die Cookies für Webspell?
Ich hoffe ihr könnt mir helfen .. auf das ich dieses Auth-Plugin endlich fertig bekomme, denn ich möchte niemanden, der mir das programmiert, sondern es selbst umsetzen und dabei hoffentlich was lernen.
MfG EDG
Da meine bisherige Suche und meine (An-)Frage, ob es denn bereits ein (funktionierendes) Auth-Plugin für die Verbindung phpBB & Webspell gibt, ohne nennenswerten Erfolg bzw. bisher ohne Rückmeldung waren, schreibe ich an meinem eigenen weiter.
Ich code das ganze erst mal auf einem Webserver lokal bei mir im Netzwerk, daher spielt die Sicherheit vorerst eine untergeordnete Rolle. Im ersten Schritt versuche ich gleichzeitige Anmeldung an beiden Systemen (phpBB & Webspell) zu bewerkstelligen. Auf http://wiki.phpbb.com/Authentication_plugins ist ja eigentlich recht gut erklärt, wie vorzugehen ist.
Nun hab ich aber (sicher auf Grund meiner schlechten Englisch- und den, bisher noch schlechternen php-Kenntnissen) ein kleines Verständnis-Problem bei der Umsetzung meines Vorhabens. Aber vielleicht kann mir einer der erfahrenen phpBB-Coder ja kurz meine Fragen beantworten und so ein paar Unklarheiten aus dem Weg räumen.
Liege ich Richtig oder Falsch:
1. In die Funktion "login_method()" frage ich ab, ob der Benutzer existiert --> Wenn ja, liefere ich ein Array mit u.a. 'status' => LOGIN_SUCCESS zurück --> phpBB loggt den Benuter ein (also setzt ohne weiteres zutun von mir die Session-cookies) / Wenn nein .. ok, eine andere Baustelle ?
2. (vielleicht zu speziell) In die Funktion "login_method()", bevor ich 'status' => LOGIN_SUCCESS übergebe, kann ich auch die Session-cookies für Webspell erzeugen lassen, was mich dort ja auch als eingeloggt ausgeben müsste?
3. Für was genau brauch ich denn die Funktion "autologin_method()" ? Oder setze ich hier die Cookies für Webspell?
Ich hoffe ihr könnt mir helfen .. auf das ich dieses Auth-Plugin endlich fertig bekomme, denn ich möchte niemanden, der mir das programmiert, sondern es selbst umsetzen und dabei hoffentlich was lernen.
MfG EDG
Re: auth-Plugin für Webspell
Genau. Wenn es den Benutzer jedoch in phpBB noch nicht gibt, musst du LOGIN_SUCCESS_CREATE_PROFILE zurückgeben.EinerDerGing hat geschrieben:1. In die Funktion "login_method()" frage ich ab, ob der Benutzer existiert --> Wenn ja, liefere ich ein Array mit u.a. 'status' => LOGIN_SUCCESS zurück --> phpBB loggt den Benuter ein (also setzt ohne weiteres zutun von mir die Session-cookies)
Kannst du machen.EinerDerGing hat geschrieben:2. (vielleicht zu speziell) In die Funktion "login_method()", bevor ich 'status' => LOGIN_SUCCESS übergebe, kann ich auch die Session-cookies für Webspell erzeugen lassen, was mich dort ja auch als eingeloggt ausgeben müsste?
Die ist für den umgekehrten Fall, d.h. wenn der Benutzer bereits in Webspell eingelogt ist, kannst du hier die Webspell-Session auslesen und der Benutzer wird bei entsprechendem Rückgabewert automatisch in phpBB eingelogt (d.h. ohne dass er im phpBB noch mal Benutzername+Passwort eingeben muss).EinerDerGing hat geschrieben:3. Für was genau brauch ich denn die Funktion "autologin_method()" ?
KB:knigge
-
- Mitglied
- Beiträge: 8
- Registriert: 13.01.2010 13:57
Re: auth-Plugin für Webspell
2 mal editiert: meine letzte Editierung war um ca 19:05 Uhr
Danke Pyramide, auch für die schnelle Antwort. Das hat mir schon mal weiter geholfen.
Jetzt hab ich wieder ein Problem, dass ich nicht ohne fremde Hilfe lösen kann.
Ich habe, um die Schritte, die die Login-Funktion ausführt, nachzuverfolgen (und da ich immer auf einer weißen Seite gelandet bin ^^) einfach nach jedem, ich nenne es mal "Vorgang", echo-Befehle gesetzt (und duch Bindestriche getrennt). Da alles bis auf das eigentliche Login (anscheinend) fehlerfrei funktionier, lasse ich die "echo"-Ausgaben mal weg.
Ich lese einen in phpBB existierenden Account mit: 'mysql_fetch_array($sql_ergebnis_phpbb_user, MYSQL_ASSOC);', also ein assioziatives Array aus. (Das war eine der Fehlerquellen zu Beginn, MYSQL_ASSOC fehlte.)
Ich erhalte folgende Meldung, wenn ich versuche mit diesem existierenden Administrator-Account einzuloggen (LOGIN_SUCCESS wird übergeben):Bemerkung: Nüscht, eine vollkommen weiße Seite ... Mehr geschieht nicht ?
Edit: In der Adresszeile steht: http://192.168.1.101/webspell/phpbb/ucp ... dex.php%3F (Falls das einen Fehler erkennen lässt)
Ich erhalte folgende Fehler-Meldungen, wenn ich mich versuche mit einem in phpBB nicht existierenden Benutzer-Account einzuloggen (LOGIN_SUCCESS_CREATE_PROFILE wird übergeben, so wie Pyramide meinte; die "echo"-Ausgaben habe ich wieder entfernt):Bemerkung: Auch hier erhalte ich nur eine weiße Seite, zusätzlich noch die phpBB Debug-Meldungen
Auch hier steht in der Adresszeile wieder: http://192.168.1.101/webspell/phpbb/ucp ... dex.php%3F
Dieses Array übergebe ich:
Mit diesem Befehl:
Bemerkung: Da hier steht:
Jetzt zu meinem Verdacht. EDIT: Den habe wohl selbst ausgeräumt, denke ich zumindest. Aber ich lasse mich gerne eines Besseren belehren.
Testweise habe ich bereits versucht folgende Zeilen hinzu zu fügen, aber dann bleibt das Skript an dieser Stelle "stecken".
Über die Bedeutung und Funktionsweise, bzw. Benutzung von $db->'WasAuchImmer' .. diesem Pfeil .. bin ich mir überhaupt nicht klar. Im Web habe ich dazu nur was gefunden im Bezug auf Klassen. Nuja, "->" ist auch ein wenig kurz um als Suchanfrage erfolg zu bringen. (Vielleicht hätte da jemand einen Link für mich, dass ich darüber mehr erfahre ... und mit ein wenig Glück bekomm' ich dann das Ganze auch ohne weitere Hilfe in den Griff
)
Kurz und schmerzlos gefragt, hat jemand einen Hinweis, eine Idee oder auch nur ne Anregung, was ich weiter versuchen könnte? Ich steh irgendwie auf dem Schlauch, WO ich ansetzen muss um weiter zu kommen.
Vielen Dank schon mal, EDG.
Danke Pyramide, auch für die schnelle Antwort. Das hat mir schon mal weiter geholfen.
Jetzt hab ich wieder ein Problem, dass ich nicht ohne fremde Hilfe lösen kann.

Ich habe, um die Schritte, die die Login-Funktion ausführt, nachzuverfolgen (und da ich immer auf einer weißen Seite gelandet bin ^^) einfach nach jedem, ich nenne es mal "Vorgang", echo-Befehle gesetzt (und duch Bindestriche getrennt). Da alles bis auf das eigentliche Login (anscheinend) fehlerfrei funktionier, lasse ich die "echo"-Ausgaben mal weg.
Ich lese einen in phpBB existierenden Account mit: 'mysql_fetch_array($sql_ergebnis_phpbb_user, MYSQL_ASSOC);', also ein assioziatives Array aus. (Das war eine der Fehlerquellen zu Beginn, MYSQL_ASSOC fehlte.)
Ich erhalte folgende Meldung, wenn ich versuche mit diesem existierenden Administrator-Account einzuloggen (LOGIN_SUCCESS wird übergeben):
Code: Alles auswählen

Edit: In der Adresszeile steht: http://192.168.1.101/webspell/phpbb/ucp ... dex.php%3F (Falls das einen Fehler erkennen lässt)
Ich erhalte folgende Fehler-Meldungen, wenn ich mich versuche mit einem in phpBB nicht existierenden Benutzer-Account einzuloggen (LOGIN_SUCCESS_CREATE_PROFILE wird übergeben, so wie Pyramide meinte; die "echo"-Ausgaben habe ich wieder entfernt):
Code: Alles auswählen
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1824: include(includes/utf/data/confusables.): failed to open stream: No such file or directory
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1824: include(): Failed opening 'includes/utf/data/confusables.' for inclusion (include_path='.:/usr/share/php5:/usr/share/php5/PEAR')
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1042: include(includes/utf/data/case_fold_c.): failed to open stream: No such file or directory
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1042: include(): Failed opening 'includes/utf/data/case_fold_c.' for inclusion (include_path='.:/usr/share/php5:/usr/share/php5/PEAR')
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1048: include(includes/utf/data/case_fold_f.): failed to open stream: No such file or directory
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1048: include(): Failed opening 'includes/utf/data/case_fold_f.' for inclusion (include_path='.:/usr/share/php5:/usr/share/php5/PEAR')
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1058: strtr(): The second argument is not an array
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1063: strtr(): The second argument is not an array
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1659: include(includes/utf/utf_normalizer.): failed to open stream: No such file or directory
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1659: include(): Failed opening 'includes/utf/utf_normalizer.' for inclusion (include_path='.:/usr/share/php5:/usr/share/php5/PEAR')
Auch hier steht in der Adresszeile wieder: http://192.168.1.101/webspell/phpbb/ucp ... dex.php%3F
Dieses Array übergebe ich:
Code: Alles auswählen
$row = array( 'user_id' => $neue_ID_in_phpbb,
'username' => $array_ws_user[1],
'user_password' => $eingegebenes_PW,
'user_email' => 'tester@mail.com',
'group_id' => '2',
'user_type' => USER_NORMAL,
);
Code: Alles auswählen
return array(
'status' => LOGIN_SUCCESS_CREATE_PROFILE,
'error_msg' => '', // false, ... in der auth_db.php
'user_row' => $row,
);
habe ich bei 'error_msg' nur '', angegeben.The error message returned on a successful external authentication should be an empty string.
Jetzt zu meinem Verdacht. EDIT: Den habe wohl selbst ausgeräumt, denke ich zumindest. Aber ich lasse mich gerne eines Besseren belehren.
Testweise habe ich bereits versucht folgende Zeilen hinzu zu fügen, aber dann bleibt das Skript an dieser Stelle "stecken".
Code: Alles auswählen
global $db;
$result = $db->sql_query($sql_abfrage_phpbb_user);
$row = $db->sql_fetchrow($result);

Kurz und schmerzlos gefragt, hat jemand einen Hinweis, eine Idee oder auch nur ne Anregung, was ich weiter versuchen könnte? Ich steh irgendwie auf dem Schlauch, WO ich ansetzen muss um weiter zu kommen.
Vielen Dank schon mal, EDG.
Zuletzt geändert von EinerDerGing am 15.01.2010 19:04, insgesamt 1-mal geändert.
Re: auth-Plugin für Webspell
Ohne den zugehörigen Code zu sehen, sagen deine Debug-Ausgaben leider gar nichts aus
.

KB:knigge
-
- Mitglied
- Beiträge: 8
- Registriert: 13.01.2010 13:57
Re: auth-Plugin für Webspell
Bin grad etwas verunsichert ... soll ich den code mit allen unnötigen Kommentaren, Ausklammerungen und "echos" posten (ca 250 Zeilen) oder besser (irgendwo) hochladen und dann hier verlinken?
Danke noch mal, dass du dich meiner annimmst.
EDIT: Hier der Link zum Skript
bzw: http://www.phpbb.de/support/pastebin.ph ... view&s=373
MfG EDG
Danke noch mal, dass du dich meiner annimmst.

EDIT: Hier der Link zum Skript
bzw: http://www.phpbb.de/support/pastebin.ph ... view&s=373
MfG EDG
Re: auth-Plugin für Webspell
Bei deinem ständigen nachträglichen Ändern der Beiträge verliere ich so langsam den Überblick, welcher Fehler denn jetzt überhaupt noch auftritt...
KB:knigge
-
- Mitglied
- Beiträge: 8
- Registriert: 13.01.2010 13:57
Re: auth-Plugin für Webspell
Entschuldige
Ich lass die Posts jetzt so, versprochen. Danke für deine Geduld.
Auftretende Fehler sind leider immer noch die aus diesem Post. Also dem 3. Post im Thread.
Testweise habe ich auch mal eine Version des Skripts ohne "echo"-Anweisungen, um diese als Fehlerquelle auszuschließen, versucht, brachte aber auch keine Änderung.

Ich lass die Posts jetzt so, versprochen. Danke für deine Geduld.

Auftretende Fehler sind leider immer noch die aus diesem Post. Also dem 3. Post im Thread.
Testweise habe ich auch mal eine Version des Skripts ohne "echo"-Anweisungen, um diese als Fehlerquelle auszuschließen, versucht, brachte aber auch keine Änderung.
Re: auth-Plugin für Webspell
Es scheint so, als ob Webspell die globale Variable $phpEx leert. Da ich in deinem Code nirgends eine Stelle finden kann, in der utf8_clean_string() aufgerufen wird, muss der Aufruf von phpBB selbst kommen - und dort wird wohl kaum ein global $phpEx vergessen worden sein o.ä.
KB:knigge
-
- Mitglied
- Beiträge: 8
- Registriert: 13.01.2010 13:57
Re: auth-Plugin für Webspell
Da ich aus Pyramides Post nicht so richtig schlau geworden bin, habe ich einfach noch mal von vorne angefangen.
Falls sich jemand für so ein Auth-Plugin interessiert, hier mal eine vorläufige Version. http://www.phpbb.de/support/pastebin.ph ... view&s=374
Bisher funktioniert folgendes:
- ein Benutzer, existierend in phpBB und Webspell kann sich in phpBB anmelden. (über das phpBB-Login .. abgefragt wird die Webspell-DB)
- ein Benutzer, existierend in Webspell aber nicht in phpBB wird automatisch in phpBB erstellt und angemeldet.
- Prüfungen, ob der Benutzer in Webspell exitiert und das Passwort richtig eingegeben wurde.
Das Skript ist weniger als Beta-Status und es sind nach wie vor sehr viele "echo"-Ausgaben gesetzt, um nachzuvollziehen, wo es Probleme gibt.
Dieser Post ist nicht als Hilferuf oder Supportanfrage gedacht, sondern nur, falls ich die Lust verlieren sollte, jemand anderes auf diesem Skript aufbauen kann und nicht bei Null beginnen muss.
Wenn ich fertig werden sollte (oder doch unerwartet auf, für mich unlösbare, Probleme stoße), werde ich natürlich das fertige Plugin posten (oder Fragen stellen - Pyramide scheint ja ab und an hier rein zu schauen).
Schönes Wochenende noch,
mfG EDG

Falls sich jemand für so ein Auth-Plugin interessiert, hier mal eine vorläufige Version. http://www.phpbb.de/support/pastebin.ph ... view&s=374
Bisher funktioniert folgendes:
- ein Benutzer, existierend in phpBB und Webspell kann sich in phpBB anmelden. (über das phpBB-Login .. abgefragt wird die Webspell-DB)
- ein Benutzer, existierend in Webspell aber nicht in phpBB wird automatisch in phpBB erstellt und angemeldet.
- Prüfungen, ob der Benutzer in Webspell exitiert und das Passwort richtig eingegeben wurde.
Das Skript ist weniger als Beta-Status und es sind nach wie vor sehr viele "echo"-Ausgaben gesetzt, um nachzuvollziehen, wo es Probleme gibt.
Dieser Post ist nicht als Hilferuf oder Supportanfrage gedacht, sondern nur, falls ich die Lust verlieren sollte, jemand anderes auf diesem Skript aufbauen kann und nicht bei Null beginnen muss.
Wenn ich fertig werden sollte (oder doch unerwartet auf, für mich unlösbare, Probleme stoße), werde ich natürlich das fertige Plugin posten (oder Fragen stellen - Pyramide scheint ja ab und an hier rein zu schauen).
Schönes Wochenende noch,
mfG EDG
Re: auth-Plugin für Webspell
bin auch interesirt brauche dringend diesen mod wie ich es machen kann das man diese forum software ins webspell intregirt