![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
witam
w temacie Temat: Symfony_szablony_widoki opisałem jak można zapisać widok do bazy. powstaje pytanie jak zabronić uruchomienia jakiejś akcji z przeglądarki? żeby można było z tej metody korzystać w $this->getController()->getPresentationFor() ale żeby ktoś nie mógł sobie wpisać w pasku URL przeglądarki tej akcji i nie zobaczył rezultatu. to samo jest z metoda sendemail - tam też podaje się jakś konkretną akcję konkretnego modułu, jako akcja która wysyła maila. -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Możesz ustawić jej widoczność na protected/private lub wywalić przedrostek execute. Wtedy daną metodę wywołasz "ręcznie" z danego kontrolera.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Za pomocą sfActionStack sprawdzasz czy akcja została wywołana przez inną akcje, tą którą Ty chcesz. Jesli nie to forward404, a jesli tak to spokojnie leci dalej.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Ewentualnie ustaw credentiala w locie
![]() -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
Możesz ustawić jej widoczność na protected/private lub wywalić przedrostek execute. Wtedy daną metodę wywołasz "ręcznie" z danego kontrolera. mogę ustawić i user nie będzie miał dostępu bezpośrednio z przeglądarki do akcji ale ta wtedy getPresentationFor też nie będzie miała dostępu. Za pomocą sfActionStack sprawdzasz czy akcja została wywołana przez inną akcje, tą którą Ty chcesz. Jesli nie to forward404, a jesli tak to spokojnie leci dalej. a mógłbyś napisać coś więcej? jak tego używać? przyszedł mi do głowy jeszcze jeden sposób. można wykonać coś takiego:
i w tej metodzie executeSendZapros sprawdzac
-------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
No to chyba jednak prościej credentiala ustawić
![]() -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Z credentialem to raczej bezsensowne bo nie do tego to służy.
Mniej więcej tak:
Ten post edytował destroyerr 25.11.2008, 20:37:08 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
coś nie tak.
bo $lastEntry->getActionName() ma taka samą wartość - wtedy kiedy wywołam ręcznie tą akcję jak i wtedy kiedy jest pobierany widok tej akcji przez metodę getPresentationFor. chyba, że coś źle zrobiłem. takie coś
działa fajnie, ale trzeba o tym atrybucie pamiętać i za każdym razem go ustawiać. -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Nie chcę robić flejma, ale pozostanę przy zdaniu, że jednak właśnie do tego służy. Ten email to akcja i nadanie tymczasowego uprawniania do jej wykonania wydaje mi się całkiem sensowne. Po wykonaniu, credentiala usuwamy z listy.
Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
Nie chcę robić flejma, ale pozostanę przy zdaniu, że jednak właśnie do tego służy. Ten email to akcja i nadanie tymczasowego uprawniania do jej wykonania wydaje mi się całkiem sensowne. Po wykonaniu, credentiala usuwamy z listy. Pozdrawiam. w ostateczności mogłoby tak być. ale ja nie chce żeby user wiedział, że jest taka akcja. żeby nie zobaczył komunikat o braku dostępu, czy formularza logowania, ale żeby zobaczył 404. EDIT: chyba się pomyliłem:) bo Credentials jak ustawie w akcji to ja ustalam jaki ma być komunikat. okej:) przepraszam za zamieszanie. Ten post edytował AxZx 25.11.2008, 21:20:04 -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Heh, no właśnie o to mi chodziło - addCredential() -> hasCredential() -> removeCredential(), zamiast sztucznej zmiennej:)
-------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Ten kod, który podałem powyżej to z rozpędu, dlatego nie działa.
Ten kod nie pozwala na dostanie się do akcji przez podany adres.
A ten kod pozwoli na wywołanie akcji tylko z akcji, którą podasz.
Jest jeszcze inna prosta metoda, poprzez routing. Dodać taką regułe, aby łapała adres do akcji chronionej i uruchamiała tą właściwą. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 19:50 |