![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 3.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki problemik do rozwiązania i nie umiem wymyślić dobrego rozwiązania.
Buduję portal, gdzie część danych będzie widoczna po zalogowaniu. Dodatkowo jak w każdy portal mam panel administracyjny. Logowanie do panelu mam już zaprojektowane mniej więcej w ten sposób (sama autoryzacja użytkownika):
Działa i nie mam tu pytań. Część portalową dostępną po zalogowaniu chciałem udostępnić użytkownikom, którzy rejestrują się do innej tabeli w bazie danych: site_users Wykonując autoryzację w ten sam sposób okazuje się że można mieć dostęp do części panela (gdy się ID pokryją z tych tabel), mimo że autoryzacja dotyczyła innych danych i innej tabeli w bazie. Czy jest jakiś sposób aby dodać do autoryzacji jakiś identyfikator, po którym będzie można wychwycić którą metodą użytkownik się zalogował? Pozdrawiam. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 4 Dołączył: 12.03.2003 Skąd: Suwałki Ostrzeżenie: (0%) ![]() ![]() |
proponuje przechowywać użytkowników w jednej tabeli z jednym logowaniem przy użyciu Zend_Auth, natomiast do kontroli dostępu zastosować Zend_Alc tworząc stosowny plugin
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 3.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
W panelu wykorzystuję Zend_Acl, rozbudowałem nawet bardziej system uprawnień, ale ale właśnie zastanawiam się czy to bezpieczniejsza opcja niż dwie autoryzacje ( o ile da się to tak rozwiązać aby jedna nie przejmowała praw drugiej)?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 69 Pomógł: 4 Dołączył: 12.03.2003 Skąd: Suwałki Ostrzeżenie: (0%) ![]() ![]() |
moim zdaniem nie rozróżniasz autoryzacji od acla, autoryzacja służy do określenia tożsamości użytkownika a alc do określenia dostępu do określonych zasobów
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
W tabeli z użytkownikami zapisujesz też, do jakiej grupy dany użytkownik należy. I korzystasz z niej w acl. O co dokładnie Ci chodzi z nakładaniem się tych identyfikatorów?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 2 Dołączył: 21.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Twój problem polega na tym że Zend_Auth domyślnie używa do przechowywania danych sesji. Domyślnym strorage handlerem jest Zend_Auth_Storage_Session. Zend_Auth_Storage_Session używa domyślnej przestrzeni nazw NAMESPACE_DEFAULT = 'Zend_Auth', tak więc pomimo tego że używasz Zend_Auth w dwóch miejscach i z innymi danymi adaptera, to wyniki autoryzacji zapisywane i sprawdzane są w jednej przestrzeni nazw sesji.
W skrócie:
API nie gryzie ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 11:32 |