![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
witam,
chciałbym skorzystać z pluginu sfGuard i w związku z tym mam pytanie. jak zintegrować go z profilami użytkowników w moim serwisie? załóżmy jest tabela profils z kolumnami imie, nazwisko, email, miejscowosc ... chciałbym żeby akcja logowania sprawdzała uprawnienia (tabele sf_guard_gruop, sf_guard_permissions, etc) ale też żeby był sprawdzany status profilu - tzn żeby była wykonywana logika, która ja chcę już wprowadzić (sprawdzanie statusu czy aktywny, zapisanie aktywnosci, daty ostatniego logowania). jak to wszystko razem połączyć? -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Wystarczyło zajrzeć w kod pluginu, a wszystko stałoby sie jasne.
Jak połączyć z profilem jest opisane w dokumentacji pluginu. Podczas logowania jest sprawdzany status konta - to znaczy pobiera z bazy tylko aktywnego użytkownika, jest zapisywana data logowania. Jeśli jednak chcesz coś jeszcze mieć podczas logowania, to nadpisz metode signIn w klasie usera. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
zajrzałem.
tylko nie wiem do końca jak mam zmodyfikować teraz tabelę profil. czy tak: 1) profil: idprofil, user_id, imie, nazwisko, miejscowosc czy może tak: 2) profil: idprofil, imie, nazwisko, miejscowosc a w ustawieniach podać Kod all: sf_guard_plugin: profile_class: Profil profile_field_name: idprofil ? w tym drugim przypadku kolumna idprofil nie może być autoincrement. byłyby tam zapisywane ID pobierane z tabeli sf_guard_user, kolumna id. -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście pierwsza wersja, ale profile_field_name ma mieć nazwę kolumny w Profilu, która stanowi klucz obcy do sfGuardUser.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
no ale po co 2 klucze?
w tabeli profil Kod idprofil: { type: integer, foreignTable: sf_guard_user, foreignReference: id, required: true, onDelete: cascade } i Kod all: sf_guard_plugin: profile_class: Profil profile_field_name: idprofil nie może tak być? hmm, pewnie mogłoby się coś pomieszać... ale ja właśnie się obawiam, że dwa ID wprowadzą zamieszanie. EDIT zrobiłem tak jak radzisz. tylko jedno mnie irytuje. teraz jest wykonywane zapytanie, które pobiera usera z bazy sprawdzając czy jest taki. robi to w metodzie getGuardUser. musiałem ją nadpisać bo nie było tam sprawdzania is_active. no i przydałoby się jeszcze pobrac dane z tabeli profil. jest metoda getProfil. ale wykonywane jest wtedy drugie zapytanie. staram się to jakoś połączyć, ale musiałbym model chyba nadpisać.
tak wygląda metoda getUser. jakieś pomysły jak to inaczej rozwiązać niż modyfikować model? -------------------- aplikacje internetowe | Symfony
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 09:55 |