habe auf meiner Site phpbb 2.010 integriert.
Die Site hat ein eigenes Authorisierungsverfahren und Sessionmanagement, aber mittels der PHPBB_Login Klasse (von PHPClasses) funktioniert das Login einwandfrei.
Die Klasse basiert im Grunde genommen darauf, dass die User in den beiden USertabellen der Site und von phpBB die selbe user_id haben, was auch sichergestellt ist...
phpBB läuft innerhalb der Site in einem IFRAME auf der gleichen Domain.
Wie gesagt funktioniert das Login als auch die Registrierungsintegration einwandfrei, jedoch haut das Logout leider nicht hin. Hier mal die Funktion von der PHPLogin Klasse (eigentlich nicht wirklich eine klasse nur ein Wrapper)
Code: Alles auswählen
function login( $phpbb_user_id ) {
global $db, $board_config, $path_level;
global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
// Setup the phpbb environment and then
// run through the phpbb login process
// You may need to change the following line to reflect
// your phpBB installation.
require_once( $path_level.'forum/config.php' );
define('IN_PHPBB',true);
// You may need to change the following line to reflect
// your phpBB installation.
$phpbb_root_path = $path_level.'forum/';
require_once( $phpbb_root_path . "extension.inc" );
require_once( $phpbb_root_path . "common.php" );
return session_begin( $phpbb_user_id, $user_ip, PAGE_INDEX, FALSE, TRUE );
}
function logout( $session_id, $phpbb_user_id ) {
global $db, $lang, $board_config, $path_level;
global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
// Setup the phpbb environment and then
// run through the phpbb login process
// You may need to change the following line to reflect
// your phpBB installation.
require_once( $path_level.'forum/config.php' );
define('IN_PHPBB',true);
// You may need to change the following line to reflect
// your phpBB installation.
$phpbb_root_path = $path_level.'forum/';
require_once( $phpbb_root_path . "extension.inc" );
require_once( $phpbb_root_path . "common.php" );
session_end( $session_id, $phpbb_user_id );
// session_end doesn't seem to get rid of these cookies,
// so we'll do it here just in to make certain.
setcookie( $board_config[ "cookie_name" ] . "_sid", "", time() - 3600, " " );
setcookie( $board_config[ "cookie_name" ] . "_mysql", "", time() - 3600, " " );
}
Aber wie gesagt hat das Logout nicht ganz hin (eigentlich gar nicht). Die Sessionvariable von PHPBB stimmt auch nicht mit der im Rest der Seite übergebenen PHPSESSID überein, was merkwürdig ist, da meiner Meinung nach nur eine Session ID existieren kann, oder sehe ich das falsch?
Jemand ne Idee woran es liegen kann?