2008-11-11 16 views
16

Necesito ayuda con lo que probablemente sea una pregunta para novatos en cuanto a la modificación de phpBB.¿Cómo puedo integrar los inicios de sesión de los usuarios de mi sitio en phpBB?

Tengo todo un sistema desarrollado en PHP, y me gustaría integrar phpBB para que las personas puedan navegar en los foros y publicar sin problemas, sin necesidad de volver a iniciar sesión.

Ahora, usar la tabla de usuarios de phpBB como la tabla de usuarios para mi sistema (y hacer que las personas se registren en phpBB en lugar de en mi sitio web) no es posible (haríamos más trabajo para rehacer nuestro sistema que construir propio foro básico).
Supongo que puedo hackear mi camino para hacer que phpBB crea que un cierto ID de usuario ha ingresado, sin embargo, ese usuario no existirá en la tabla de usuarios de phpBB (que supongo que hará que se descargue casi en todos lados).

Todos los tutoriales y publicaciones en el foro que pude encontrar implicaban tener phpBB como principal. No pude encontrar nada para hacerlo al revés.

Supongo que la única manera posible de resolver esto es teniendo ambas tablas relativamente sincronizadas.

Ahora, siempre que pueda sincronizar ambas tablas de usuarios, ¿cuál es la mejor manera de integrar ambos sitios, manteniendo el inicio de sesión de mi sitio y la tabla de usuarios como los "principales"?
Además, ¿hay algo en particular que deba tener en cuenta al crear registros en la tabla de usuarios de phpBB? ¿O es relativamente fácil de entender? ¿En qué tablas debería estar escribiendo si hay más de una?

Respuesta

11

Esta es una vieja pregunta, así que estoy seguro ou've trabajó algo por ahora, pero si es necesario refactorizar cosas en el futuro, esto es totalmente posible con los plugins de autenticación en phpBB3:

http://wiki.phpbb.com/Authentication_plugins

estoy trabajando en uno ahora en phpBB es la sistema "secundario", y va bastante bien.

+0

he seguido el enlace informados, parece que sólo tiene que crear un archivo de inclusión/auth/auth_myauth.php y tener un método en el archivo, por ejemplo login_myauth ($ usuario, $ password) devuelve una matriz. Cuando hice esto no pude establecerlo en el ACP, ¿alguna sugerencia? –

+0

Será mejor que publique una nueva pregunta en StackOverflow. No he usado phpBB desde que publiqué aquí hace seis años, y esa página wiki a la que me he vinculado no se ha actualizado desde octubre de 2011. A menos que mantenga una versión anterior de phpBB, probablemente esté desactualizada. –

5

He integrado phpBB con un sitio anteriormente, sin embargo, utilicé la tabla de sistema/usuarios de inicio de phpBB como la principal que usted dijo. Como phpBB es un software de foro bastante avanzado, sería un proyecto bastante lento para cambiar por completo su sistema de usuario y de inicio de sesión.

Cuando tuve que usar el inicio de sesión del sitio como el principal, utilicé PunBB. Era mucho más simple modificar PunBB.

Si es absolutamente necesario utilizar su propio nombre de usuario como primaria, y phpBB, entonces estoy de acuerdo con usted en que la manera más fácil sería mantener las tablas sincronizadas, y llamar a ambos los guiones de entrada cuando alguien abre una sesión.

Cuando inserta datos en phpBB, la tabla de usuarios es bastante sencilla. Cada entrada tiene la información básica para un usuario, y si tiene campos personalizados para los perfiles de usuario, van a las tablas profile_fields y profile_fields_data.

Una cosa complicada es cómo phpBB encripta las contraseñas de los usuarios. Creo que tienes que usar la función de phpBB llamada phpbb_hash($password) para hacer eso.Se declara en el archivo phpbb/includes/functions.php

Para el código de inicio de sesión phpBB, ver login_box Funciton en el archivo phpbb/includes/functions.php

2

Puede utilizar el siguiente para iniciar sesión en phpBB:

$result=$auth->login($username, $password); 

if ($result['status'] == LOGIN_SUCCESS) { 

    echo "You're logged in"; 

} else { 

    echo $user->lang[$result['error_msg']]; 

} 
+0

que asume el sitio utiliza tabla de usuarios de phpBB. – Shinhan

Cuestiones relacionadas