Seite 1 von 1

Login durch externe Anwendung

Verfasst: 04.08.2010 17:16
von asteireif
Hallo Forum

hoffe ich bin hier in der richtigen Kategorie gelandet ;-)

Momentan bin ich dabei, Contao (CMS) und phpBB3 mit einander zu verbinden. Contao ist das führende System und ich hab für das phpBB3 auch schon ein Authentication Plugin entwickelt, welches ganz gut funktioniert. Melde ich mich nun im phppB3 an, werden die User aus der Contao Tabelle abgefragt und falls noch nicht vorhanden angelegt. Soweit so gut ... Ich möchte aber nun, wenn ich mich in Contao als Benutzer anmelde, auch gleich die Anmeldung für das phpBB3 setzen. Hab bisher folgenden Code zusammen:

Code: Alles auswählen

//phpBB3 Integration
				global $phpbb_root_path, $phpEx, $user, $db, $config, $cache, $template;
				define('IN_PHPBB', true);
				$phpbb_root_path = dirname(__FILE__) . '/../../../app/community/';
				$phpEx = substr(strrchr(__FILE__, '.'), 1);
			
				include_once("app/community/common.php");
				include($phpbb_root_path . 'includes/utf/utf_normalizer.' . $phpEx);
				// Start session management
				$user->session_begin();
				$auth->acl($user->data);
				$user->setup();
			
				$username = request_var($this->Input->post('username'), '');
				$password = request_var($this->Input->post('password'), '');
				$auth->login($this->Input->post('username'), $this->Input->post('password'), true);
Hilft mir alles aber nicht weiter. Zuerst wirft das System utf8 Error, weil sich teilweise die Funktionen überlappen, das habe ich gefixt. Aber selbst wenn der Login durch geht (ohne Fehlermeldung), so ist man im phpBB3 nicht angemeldet... Dazu hätte ich folgende Fragen:

- Hat jemand schon etwas ähnliches entwickelt, sprich Login in einer externen Anwendung?
- Wie sehe ich, ob ich im phpBB3 angemeldet bin? Ich meine über Firebug kann ich ja die Cookies auslesen, da steht aber nicht wirklich was drin
- Any ideas?

Wäre über jede Hilfestellung sehr dankbar :-)

Re: Login durch externe Anwendung

Verfasst: 04.08.2010 17:40
von asteireif
Habs umgebastelt:

Code: Alles auswählen

$user->session_begin();
				$auth->acl($user->data);
				$user->setup();
			
				$username = $this->Input->post('username');
				$password = $this->Input->post('password');
				
					
				
				
				 $result = $auth->login($username, $password);

			    if ($result['status'] == LOGIN_SUCCESS)
			    {
			      //
			       print_r($result);
			    }
			    else
			    {
			      ///
			    }
Er kommt auch in die LOGIN_SUCCESS Abfrage rein das scheint zu passen nur ist man tdem nicht angemeldet... Any ideas?

Re: Login durch externe Anwendung

Verfasst: 04.08.2010 18:06
von asteireif
noch ein kleiner Nachtrag...

Mein $result wirft das selbe Ergebnis wenn ich es mit print_r ausgebe wie das "$result = $auth->login($username, $password, $autologin, $viewonline, $admin);" aus der functions.php in Zeile 2848

Re: Login durch externe Anwendung

Verfasst: 04.08.2010 22:01
von Dr.Death
Hallo,

bitte schau Dir mal kurz unseren KB:16 - Thema Topic Bumping an.....


... und dann das hier: [Snippet] Externer Login / Logout für phpBB3

Vielleicht hilft es ja ;-)

Re: Login durch externe Anwendung

Verfasst: 05.08.2010 09:23
von asteireif
Hallo,

danke für das Feedback... Er wirft bei mir ziemlich viele "non object" Fehler, kann ich umgehen in dem ich folgende Zeile noch mit rein nehme

Code: Alles auswählen

global $phpbb_root_path, $phpEx, $user, $db, $config, $cache, $template;
Auf Basis des Codes (Link von oben den du gepostet hast) habe ich das jetzt nochmal umgesetzt, er gibt auch "Du bist angemeldet" aus, aber wenn ich dann danach ins Forum gehe, bin ich nicht angemeldet... Any ideas?

Re: Login durch externe Anwendung

Verfasst: 05.08.2010 10:39
von Dr.Death
Du musst das $autologin = true übergeben, ansonsten wird kein Cookie gesetzt.... oder Du hast den $autologin gesetzt, aber deine Cookie Einstellungen stimmten nicht.

Re: Login durch externe Anwendung

Verfasst: 05.08.2010 11:05
von asteireif
Hallo,

danke dir, lag an den Cookie Einstellungen :-)!
Problem gelöst