![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 16 Dołączył: 11.01.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
witam,
mam problem z stworzeniem uwierzytelniania użytkowników za pomocą tego samego loginu na stronie i na forum jednocześnie. Mianowicie chcę aby user, który loguje się na stronie był jednocześnie zalogowany na forum (problem popularny, jednak nie mogę znaleźć zadowalającego rozwiązania). Rozwiązanie, które chciałem zastosować to: - podczas rejestracji usera w portalu uzupełniam też tabelkę users w forum. Pierwszym problemem jaki napotkałem jest hasło, w phpbb3 do hashowania użyta jest funkcja phpbb_hash, której nie mogę w żaden sposób zastosować przez funkcję redirect(), powodującą błąd nadpisywania oryginalnej funkcji redirect() w moim frameworku (CodeIgniter). Jeśli ktoś ma pomysł jak to obejść czekam na propozycje. Spróbowałem więc tworzyć usera z hasłem w zwykłej md5, i później samemu sprawdzać usera. Tutaj problem jest taki że nie wiem jakiego rodzaju uwierzytelnianie jest zastosowane (w oparciu o jakie dane i w jaki sposób hashowane). Przy normalnym logowaniu na forum są tworzone 3 ciastka - phpbb3_ljnzq_u - phpbb3_ljnzq_sid - phpbb3_ljnzq_k oraz tworzony jest wpis w tabeli sessions, nie wiem jakie dane są hashowane w kolumnie session_id nigdzie nie mogę tego znaleźć. (nie mam bladego pojęcia po co ciastka są skoro po ich wykasowaniu nadal jestem zalogowany). Z tego co wyczytałem to wystarczyć powinien poprawny wpis do tabelki sessions w forum (na podstawie tego jest sprawdzane zalogowanie), tylko cały czas nie wiem jakie dane są trzymane w postaci md5 w kolumnie session_id. Ma ktoś wiedzę jak poprawnie wpisać te dane rejestracyjne do bazy (hasło) i później z nich utworzyć poprawną sesje dla forum. Proszę o pomoc. Może ktoś się spotkał z tym problemem lub ma inne rozwiązanie. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 587 Pomógł: 131 Dołączył: 8.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Musisz użyć funkcji z phpBB. Przeszukaj forum phpBB hasło to phpBB bridge. W skrócie będzie to wyglądać tak:
-------------------- Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore
I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 290 Pomógł: 48 Dołączył: 11.05.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 16 Dołączył: 11.01.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
@rocktech funkcji podanej przez Ciebie nie znalazłem w kodzie, prawdopodobnie w phpbb3 jest to inaczej rozwiązane.
@tajgeer - tutorial nie zawiera info o sposobie uwierzytelniania użytkowników. Doszedłem już do tego (już... dopiero to lepsze słowo) że po zalogowaniu sesja jest trzymana w url i bazie danych (tabelka sessions) a po przejściu na kolejną stronę tworzone jest ciasteczko z tymi samymi danymi co w tabelce. Nadal nie wiem jakie dane są trzymane w kolumnie session_id (tabelka sessions), nie jest to raczej md5 bo próbowałem użyć decode do md5 i nic nie znajduje. Próbowałem też sztucznie tworzyć insert do tabelki sessions i tworzyć ciastko z tymi samymi danymi, jednak nie zdało to rezultatu. Po wejściu na forum tworzy się inne ciastko (co dziwne) o tej samej nazwie, jedyne różnice to że działa w obrębie domeny i ma dowolny rodzaj połączenia (oraz oczywiście string sessji). Przypomnę że cały portal funkcjonuje poprawnie mam uwierzytelnianie i obsługę klientów. Chciałbym zrobić tak aby przy logowaniu się do portalu user automatycznie zostawał zalogowany na forum. logowanie z forum zostanie w ogóle wyrzucone. ma ktoś pomysł na rozwiązanie EDIT: problem rozwiązany ;] okazało się że w tabeli sessions kolumna session_browser jest także wymagana a defakto jest ona kluczowa, musi być w niej zawartość $_SERVER['HTTP_USER_AGENT'], wartość kolumny session_id może być dowolnym stringiem ważne aby był taki sam zapisany w ciastku po katowaniu się z pierdołą, temat do zamknięcia Ten post edytował pablo_83 10.07.2012, 19:10:07 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 30.07.2025 - 15:56 |