Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Kohana]Podstrony
grzes999
post 4.08.2012, 12:24:13
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

Ostrzeżenie: (0%)
-----


Witam

Mam pewni banalny pomysł; ale jakoś nie mogę znaleźć na niego rozwiązania :/
Otóż tworze pewna stronę w kohanie i tworzę zarządzanie użytkownikami przez admin.
Wygląda to mniej więcej tak. Admin na stronie głównej ma listę użytkowników i po kliknięciu w jakiś button ma go przekierować do panelu użytkownika.
Chodzi o to żeby mógł widzieć panel uzytkownika tak jak by nim był. Wymyśliłem żeby stworzyć linki typu admin/uzytkownik/id_uzytkownika
Zrobienie tego za pomocą sprawdzenia pierwszego parametru adresu odpada bo użytkownik ma klika podstron w swoim panelu.
Tak ze trzeb mi coś takiego zrobić

admin/uzytkownik/jakas-strona/id_uzytkownika
admin/uzytkownik/jakas-inna-strona/id_uzytkownika

I nie bardzo wiem jak to zapisać na razie stworzyłem kontroler w folderze użytkownik i dziedziczoacy po adminie.

  1. class Controller_Admin_Uzytkwonik extends Controller_Admin
  2. {
  3. }


Ale teraz nie wiem jak do tego routinh zapisać :/ a może muszę to jakoś inaczej zrobić.

Będę bardzo wdzięczny za pomoc.

Ten post edytował grzes999 4.08.2012, 12:24:42
Go to the top of the page
+Quote Post
thek
post 4.08.2012, 18:59:46
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Złe podejście. W ten sposób Użytkownik ma wszelkie metody dostępne Adminowi. To baaaaardzo zły pomysł. Poza tym zwróć uwagę na fakt, że mając prawa admina NIGDY nie będziesz widział dokładnie tego co user. Można to obejść tworząc dla admina opcję "przejęcia" konta. Najprostsza to podmiana haseł. Hasło usera (a raczej jego hash) zastępujesz swoim i logujesz się jego loginem, ale ze swoim hasłem na jego konto. Wtedy masz DOKŁADNIE taki sam widok jakbyś był tym userem. Oczywiście musisz opracować także system "zwracania" konta userowi. Sam coś takiego kiedyś zrobiłem. Minusem jest fakt, że w takim rozwiązaniu, na czas przejęcia, user traci dostęp do konta (hasłą się nie zgadzają). By tak się nie stało musisz inny trick zastosować, który oszukuje system autoryzacji. Problem w tym, że nie będzie wtedy idealnego widoku usera, gdyż admin nie może przecież stracić uprawnień administracyjnych, a tak by się stało, gdybyś koncie administracyjnemu usunął opcje administracyjne. Stało by się bowiem kontem użytkownika, a te nie ma opcji dostępnych dla admina.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
muk4
post 10.08.2012, 17:49:28
Post #3





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Moduł Auth w Kohanie ma coś takiego jak force_login().
Możesz się zalogować jako user bez zabaw z hasłem i dodatkowo w sesji ustawić zmienną 'loggedAsUser' albo coś i przy wylogowaniu będzie wracał jako admin.
Go to the top of the page
+Quote Post
grzes999
post 10.08.2012, 18:04:39
Post #4





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

Ostrzeżenie: (0%)
-----


Zrobiłem to jednak po id w adresie. Sprawdzam pierwszy parametr i zależnie od tego jaki jest wywołuję prywatną metodę kontrolera admin user a drugi to id usera. Ale wielkie dzięki za podpowiedź muk4
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 11:00