Domanda

Ho bisogno di aiuto con quella che è probabilmente una domanda da principiante in termini di modifica di phpBB.

Ho sviluppato un intero sistema in PHP e vorrei integrare phpBB in modo che le persone possano navigare nei forum e postare senza problemi, senza effettuare nuovamente l'accesso.

Ora, usare la tabella degli utenti di phpBB come tabella degli utenti per il mio sistema (e avere persone registrate in phpBB invece che nel mio sito Web) sfortunatamente (non ci vorrebbe più lavoro per rifare il nostro sistema che per costruire il nostro forum di base).
Suppongo di poter fare a modo mio per far credere a phpBB che un determinato ID utente ha effettuato l'accesso, tuttavia, l'utente non esisterà nella tabella degli utenti di phpBB (che presumo causerà errori quasi ovunque) .

Tutti i tutorial e i post sul forum che ho trovato implicano avere phpBB come principale. Non sono riuscito a trovare nulla per farlo al contrario.

Immagino che l'unico modo possibile per risolvere questo problema sia avere entrambe le tabelle relativamente sincronizzate.

Ora, a condizione che sia possibile sincronizzare la tabella di entrambi gli utenti, qual è il modo migliore per integrare entrambi i siti, mantenendo l'accesso al mio sito e la tabella degli utenti come "primario" quelli?
Inoltre, c'è qualcosa in particolare che dovrei tenere a mente quando si creano i record nella tabella degli utenti di phpBB? O è relativamente semplice da capire? Su quali tabelle dovrei scrivere, se ce n'è più di una?

È stato utile?

Soluzione

Questa è una vecchia domanda, quindi sono sicuro che tu abbia già risolto qualcosa, ma se in futuro dovrai rifattorizzare le cose, questo è del tutto possibile con i plugin di autenticazione in phpBB3:

http://wiki.phpbb.com/Authentication_plugins

Sto lavorando a uno ora in cui phpBB è il "secondario" sistema e sta andando abbastanza bene.

Altri suggerimenti

Ho appena lavorato a questo compito oggi, dopo che alcune indagini hanno implementato un Plugin di autenticazione Ecco un buon esempio Far accettare phpBB per accettare sessioni di Django

Ho già integrato phpBB con un sito, tuttavia ho usato il sistema di login / tabella degli utenti di phpBB come principale come hai detto. Poiché phpBB è un software per forum piuttosto avanzato, sarebbe un progetto piuttosto dispendioso in termini di tempo per cambiare completamente il suo sistema utente e login.

Quando ho dovuto usare il login del sito come principale, ho usato PunBB . È stato molto più semplice modificare PunBB.

Se devi assolutamente usare il tuo login come primario e phpBB, allora sono d'accordo con te nel fatto che il modo più semplice sarebbe mantenere sincronizzate le tabelle e chiamare entrambi gli script di login quando qualcuno accede.

Quando si inseriscono dati in phpBB, la tabella degli utenti è piuttosto semplice. Ogni voce ha le informazioni di base per un utente e, se si dispone di campi personalizzati per i profili utente, questi vanno nelle tabelle profile_fields e profile_fields_data .

Una cosa difficile è come phpBB crittografa le password degli utenti. Penso che devi usare la funzione di phpBB chiamata phpbb_hash ($ password) per farlo. È dichiarato nel file phpBB / include / functions.php

Per il codice di accesso phpBB, vedere la funzione login_box nel file phpbb/includes/functions.php

Puoi usare quanto segue per accedere a phpBB:

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

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

  echo "You're logged in";

} else {

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

}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top