Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][Symfony2] Logowanie ajax + acl, Jak sprawdzić czy wymagane jest logowanie do zasobu (ajaxem)
Ghost_78
post 19.06.2012, 09:17:38
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 ;-)
Go to the top of the page
+Quote Post
destroyerr
post 19.06.2012, 14:18:54
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.
Go to the top of the page
+Quote Post
Ghost_78
post 19.06.2012, 14:28:21
Post #3





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


Dzięki serdeczne za odpowiedź smile.gif.
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 wink.gif.

Pozdrawiam.


--------------------
Always look on the bright side of life ;-)
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: 16.07.2025 - 12:29