![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%)
|
Mam klasę Uzytkownik która jest odwzorowaniem tabeli Uzytkownik w BD.
Korzystając z dokumentacji Symfony, a konkretnie rozdziału "System bezpieczeństwa" chcę skorzystać z wbudowanego modułu logowania (tak to rozumiem). a więc: 1. Dodałem dziedziczenie po UserInterface
2. Skonfigurowałem security.yml
i pojawia się error: Error: Class Nomad\SystemBundle\Entity\Uzytkownik contains 5 abstract methods and must therefore be declared abstract or implement the remaining methods (Symfony\Component\Security\Core\User\UserInterface::getRoles, Symfony\Component\Security\Core\User\UserInterface::getPassword, Symfony\Component\Security\Core\User\UserInterface::getSalt, ...) in C:\xampp\htdocs\Projekt\src\Nomad\SystemBundle\Entity\Uzytkownik.php line 117 Postąpiłem zgodnie z dumentacją a nagle pojawia się masa problemów ... |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%)
|
UserInterface jest to interfejs, który wymusza na tobie aby klasa Uzytkownik posiadała wymagane metody zawarte w UserInterface
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%)
|
i pewnie jeszcze klasa musi nazywać się user a nie uzytkownik?
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 476 Pomógł: 96 Dołączył: 10.04.2008 Skąd: Koszalin Ostrzeżenie: (0%)
|
Poczytaj o interfejsach...
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%)
|
Ok. pocztałem i przypomniałem sobie.
Błąd zniknął, formularz logowania wyświetla się. Mam natomiast problem z dalszą jego obsługą. W Internecie nie mogę znaleźć żadnego przykładu, nakierowania. Znajdzie się ktoś miły aby pomóc? W kontrolerze wywołuję taką metodę:
Brakuje mi tego kawałka kodu który dałem wyżej w komentarzu i nigdzie nie mogę znaleźć informacji, przykładu. Pomożecie? |
|
|
|
Post
#6
|
|
|
Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%)
|
Bardzo słabo szukasz. W dokumentacji komponentu Security masz przykład akcji kontrolera: Using a Traditional Login Form
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%)
|
Kontynując temat, jako że jestem totalnie zielony w tym temacie, wróciłem do początu pozostawiając póki co logowanie przy pomocy bazy danych. Najpierw chcę nauczyć się logowania za pomocą użytkowników zadeklarowanych w pliku security.yml.
Zrobiłem tak jak jest napisane w dokumentacji (przynajmniej tak mi się wydaje) i trzymałem takie pliki z następującym błędem w security.yml app/config/routing.yml bez zmian
src/Acme/LogowanieBundle/Resources/config/routing.yml
app/config/security.yml
src/Acme/LogowanieBundle/Controller/DefaultController.php
src/Acme/LogowanieBundle/Resources/views/Security/login.html.twig
BŁĄD: FileLoaderLoadException: Cannot import resource "C:\xampp\htdocs\Logowanie3\app/config\security.yml" from "C:\xampp\htdocs\Logowanie3\app/config\config.yml". (Unable to parse at line 23 (near " login_path: login").) Co jest źle w tym pliku? |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%)
|
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%)
|
Mogę prosić o jakąś konstruktywną wypowiedź a nie tylko powodzenia?
Czy chodzi o to że jeśli będę miał
dalsze
są jakby niewidoczne? Dobrze ... chyba sam odpowiedziałem sobie na to pytanie. Teraz po wpisaniu adresu:
Wyświetla mi się formularz logowania. Jeśli podam błędne dane, aplikacja wraca do formularza logowania z informacją:
Niestety po podaniu poprawnych danych, mam taki oto komunikat;
Czyli jak rozumim nie mam określonej trasy w przypadku poprawnego logowania. Czy chodzi tu o ten fragment w routing.yml?
Ten post edytował kosmos 26.07.2014, 12:48:44 |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%)
|
Jeżeli dobrze pamiętam składnię YML, to zapis:
utworzy tablicę ['form_login'] zawierającą elementy ['login_path'] => login, ['check_path'] => login_check W przypadku
Nawiązując do ostatniego podanego przeze mnie linku w tym poście: The tilde (~) is yaml syntax for "null" and just means there are no options. Poza tym polecam Ci State of YAML php Dodatkowo, autor TEGO tematu zadał kilka ciekawych pytań, którymi mógłbyś się zainteresować. --EDIT
Oznacza że żaden z includowanych plików określających routing nie zawiera akcji kontrolera dla adresu "/" Ten post edytował kpt_lucek 26.07.2014, 12:54:38 |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%)
|
kpt_lucek
dzięki za wytłumaczenie problemu w security.yml i artyuły - zapoznam się. Nie rozumiem niestety ostatniego komunikatu błędu. Dlaczego komunikat odwołuje się do pliku app_dev.php? jak należy obsłużyć ten błąd? Nie wiem również jak ma zachować się aplikacja po poprawnym zalogowaniu z przytoczonego przykładu dokumentacji. |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%)
|
Po zalogowaniu jesteś przekierowany na adres "/", dla którego nie masz akcji w kontrolerze. Dodaj takową i będzie po problemie (routing bundla i kontroler bundla).
|
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%)
|
O ile dobrze Cię zrozumiałem dodałem:
a w kontrolerze:
Jednak błąd nadal się pojawia. Dlaczego po poprawnym zalogowaniu apliacja chce przejść do adresu /, wydawało mi się że przejdzie do /login_check i wywoła metodę logintrue kontrolera. Ten post edytował kosmos 26.07.2014, 13:42:30 |
|
|
|
Post
#14
|
|
|
Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%)
|
Akcją formularza logowania powinna być trasa login_check. Po poprawnym zalogowaniu, przekieruje Cię do / (dalej nie masz). Domyślą trasę przekierowania możesz zmienić:
Kod default_target_path: / .Tutaj masz wszystkie opcje konfiguracyjne komponentu Security. Poczytaj najpierw jak wszystko działa, jak się konfiguruje, bo masz spore braki w podstawach. |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 17 Dołączył: 4.03.2008 Ostrzeżenie: (0%)
|
Dzęki pedro84
rozwiązało sprawę. O to mi właśnie chodziło. Nie wiedziałem dlaczego aplikacja chciała od razu przekierowywać mnie do "/" bo przecież nigdzie takiej ścieżki nie określiłem. Teraz już wiem skąd to się bierze, dzięki Waszej pomocy. Przykład logowania przy użyciu formularza z użytkownikami zadeklarowanymi w pliku działa (IMG:style_emoticons/default/smile.gif) ! |
|
|
|
Post
#16
|
|
|
Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%)
|
Nie wiedziałem dlaczego aplikacja chciała od razu przekierowywać mnie do "/" bo przecież nigdzie takiej ścieżki nie określiłem. Dlatego zasugerowałem Ci dokładne przeczytanie dokumentacji, bo tam jest to napisane (IMG:style_emoticons/default/wink.gif) Generalnie w dokumentacji SF czy to komponentów, można znaleźć dosłownie wszystko co potrzebne. |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 23:42 |