2008-11-11 25 views
16

Potrzebuję pomocy z prawdopodobnie nowym pytaniem dla początkujących, jeśli chodzi o modyfikowanie phpBB.Jak mogę zintegrować logowanie użytkowników z mojej witryny do phpBB?

Mam cały system opracowany w PHP i chciałbym zintegrować phpBB, aby ludzie mogli poruszać się po forach i bezproblemowo pisać bez konieczności ponownego logowania.

Teraz używanie tabeli użytkowników phpBB jako tabeli użytkowników dla mojego systemu (i posiadanie osób rejestrujących się w phpBB zamiast w mojej witrynie) nie jest niestety niestety (więcej pracy wymagałoby powtórzenia naszego systemu niż zbudowania własne podstawowe forum).
Zakładam, że mogę włamać się do tworzenia phpBB, wierzę, że zalogowany został pewien identyfikator użytkownika, jednak ten użytkownik nie będzie istnieć w tabeli użytkowników phpBB (co, jak przypuszczam, spowoduje błąd wszędzie).

Wszystkie samouczki i posty na forach, które mogłem znaleźć, sugerowały posiadanie phpBB jako podstawowego. Nie mogłem znaleźć niczego, by zrobić to na odwrót.

Zgaduję, że jedynym możliwym sposobem rozwiązania tego problemu jest posiadanie względnie zsynchronizowanych obu tabel.

Teraz pod warunkiem, że mogę mieć zsynchronizowaną tabelę obu użytkowników, jaki jest najlepszy sposób na integrację obu witryn, utrzymując loginu i tabelę użytkowników jako "podstawowe"?
Czy jest coś szczególnego, o czym powinienem pamiętać podczas tworzenia rekordów w tabeli użytkowników phpBB? Czy jest to względnie proste do wymyślenia? Jakie tabele powinienem pisać, jeśli jest ich więcej?

Odpowiedz

11

To jest stare pytanie, więc jestem pewien, y ou've pracował coś teraz, ale jeśli potrzebna byłaby rzeczy w przyszłości, to jest całkiem możliwe, z wtyczek uwierzytelniania w phpBB3:

http://wiki.phpbb.com/Authentication_plugins

pracuję na jednym teraz gdzie phpBB pada "drugorzędny" system i idzie całkiem nieźle.

+0

Podążyłem za opublikowanym linkiem, wydaje mi się, że muszę tylko utworzyć plik zawierający/auth/auth_myauth.php i mieć metodę w pliku, np. Login_myauth ($ username, $ password) zwracającą tablicę. Kiedy to zrobiłem, nie byłem w stanie ustawić go w ACP, żadnych sugestii? –

+0

Lepiej byłoby opublikować nowe pytanie na StackOverflow. Nie korzystałem z phpBB, odkąd opublikowałem tutaj sześć lat temu, a strona wiki, z którą się łączyłem, nie była aktualizowana od października 2011 roku. Jeśli nie utrzymujesz starej wersji phpBB, prawdopodobnie jest nieaktualna. –

5

Mam zintegrowany phpBB z witryną wcześniej, jednak użyłem tabeli login/użytkowników phpBB jako podstawowej, jak powiedziałeś. Ponieważ phpBB jest dość zaawansowanym oprogramowaniem forum, byłoby całkiem czasochłonnym projektem, aby całkowicie zmienić swój system logowania i logowania.

Kiedy musiałem użyć loginu witryny jako podstawowego, użyłem PunBB. Łatwiej było modyfikować PunBB.

Jeśli koniecznie trzeba użyć własnego logowanie jako podstawowy i phpBB, to zgadzam się z tobą, że najłatwiej byłoby utrzymanie tabel zsynchronizowane i wywołać zarówno skrypty logowania, gdy ktoś zaloguje.

Podczas wstawiania danych do phpBB tabela użytkowników jest dość prosta. Każdy wpis ma podstawowe informacje dla użytkownika, a jeśli masz niestandardowe pola dla profili użytkowników, przechodzą one do tabel profile_fields i profile_fields_data.

Jedną z najtrudniejszych spraw jest to, jak phpBB szyfruje hasła użytkownika. Myślę, że aby to zrobić, musisz użyć funkcji phpBB o nazwie phpbb_hash($password).To zadeklarowana w pliku phpbb/includes/functions.php

Dla kodu logowania phpBB patrz funciton login_box w pliku phpbb/includes/functions.php

2

Można użyć poniżej, aby zalogować się do phpBB:

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

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

    echo "You're logged in"; 

} else { 

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

} 
+0

Zakładamy, że strona używa tabeli użytkowników phpBB. – Shinhan

Powiązane problemy