![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 222 Pomógł: 34 Dołączył: 3.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam szanowne grono.
Dziś pojawił mi się następujący problem. Chciałem zrobić część serwisu obsługiwaną przez AJAXa. Sprawa niby banalna. Wysyłamy żądanie i pobieramy wynik z jakiegoś kontrolera. Nie mniej jednak sprawa komplikuje mi się w przypadku zasobów zabezpieczonych w 'security:'. W momencie kiedy ktoś chce dostać się do takiego zasobu powinien najpierw dostać form do logowania a potem właściwą stronę. Ja sobie obmyśliłem to tak, że: 1. wywołanie ajaxem strony sprawdzającej zasób 2. jeżeli jest to zabezpieczona strefa a klient jest niezalogowany - robimy forward 2a. sprawdzam logowanie - jeżeli poprawne - forward do żądanego zasobu 3. jeżeli był zalogowany to dostaje zasób od razu Problem pojawił mi się w momencie kiedy chciałem sprawdzić czy dany zasób jest zabezpieczony a jeżeli tak to czy zalogowany user ma do niego zasób. Nie wiem jak się do tego zabrać. Dodam tylko, że standardowe logowanie mam przez FOS_User a ajaxem chyba trzeba by wywołać inne (chociażby bez lauoutu). A może ktoś robił już coś takiego i znalazł fajniejsze rozwiązanie ? -------------------- Always look on the bright side of life ;-)
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Tutaj nie ma nic do wymyślania na nowo.
AJAXem pobierasz stronę, jeśli użytkownik jest zalogowany to mu to wyświetlasz. Jeśli jest nie zalogowany to się zrobi forward do akcji logowania. Musisz napisać swoją akcję do tego, która sprawdzi czy żądanie jest z AJAXa czy nie i w zależności od tego wyśle formularz z layoutem albo bez. Na dobrą sprawę możesz to też załatwić po stronie widoku (konkretnie w szablonie). Stronę programujesz normalnie a potem dokładasz do tego asynchroniczność. Może spróbuj jeszcze trochę bardziej zawęzić obszar z którym masz problem, bo być może nie zrozumiałem tego problemu. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 222 Pomógł: 34 Dołączył: 3.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki serdeczne za odpowiedź
![]() Faktycznie - o jednym detalu zapomniałem jeszcze napisać. Chcę te akcje zrobić w wyskakującym oknie. Chciałem aby użyszkodnik wysłał żądanie ajaxem po stronę. Jeżeli nie był zalogowany a byłoby to wymagane to dostaje form logowania. Po zalogowaniu dostaje stronę, której żądał. Właśnie kręcąc się po stronach trafiłem jak przerobić FOS_Usera i listenera logowania aby odpowiadał tak jak chcę. Może od tej strony mi coś wyjdzie. Na razie kombinuje ![]() Pozdrawiam. -------------------- Always look on the bright side of life ;-)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 12:29 |