¿Cómo puedo integrar los inicios de sesión de los usuarios de mi sitio en phpBB?

StackOverflow https://stackoverflow.com/questions/279655

  •  07-07-2019
  •  | 
  •  

Pregunta

Necesito ayuda con lo que probablemente sea una pregunta para novatos en términos de modificación de phpBB.

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

Ahora, desafortunadamente, no es posible usar la tabla de usuarios de phpBB como tabla de usuarios para mi sistema (y hacer que las personas se registren en phpBB en lugar de en mi sitio web) (tomaría más trabajo rehacer nuestro sistema que construir el nuestro foro básico).
Supongo que puedo hackear mi camino para hacer que phpBB crea que cierta identificación de usuario ha iniciado sesión, sin embargo, ese usuario no existirá en la tabla de usuarios de phpBB (lo que supongo hará que se produzca un error en casi todas partes) .

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 forma posible de resolver esto es tener ambas tablas relativamente sincronizadas.

Ahora, siempre que pueda sincronizar la tabla de ambos 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 la "primaria". unos?
Además, ¿hay algo en particular que deba tener en cuenta al crear registros en la tabla de usuarios de phpBB? ¿O es relativamente sencillo de entender? ¿En qué tablas debería escribir, si hay más de una?

¿Fue útil?

Solución

Esta es una vieja pregunta, así que estoy seguro de que ya ha resuelto algo, pero si necesita refactorizar las cosas en el futuro, esto es completamente posible con los complementos de autenticación en phpBB3:

http://wiki.phpbb.com/Authentication_plugins

Estoy trabajando en uno ahora donde phpBB es el "secundario" sistema, y ??va bastante bien.

Otros consejos

Acabo de trabajar en esta tarea hoy, después de que algunas investigaciones implementaron un Plugin de autenticación Aquí hay un buen ejemplo Conseguir que phpBB acepte sesiones de Django

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

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

Si absolutamente tiene que usar su propio inicio de sesión como primario y phpBB, entonces estoy de acuerdo con usted en que la forma más fácil sería mantener las tablas sincronizadas y llamar a los dos scripts de inicio de sesión cuando alguien inicie 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 difícil es cómo phpBB cifra las contraseñas de los usuarios. Creo que tienes que usar la función de phpBB llamada phpbb_hash ($ contraseña) para hacer eso. Se declara en el archivo phpbb/includes/functions.php

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

Puede usar lo 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']];

}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top