[SF]Symfony 3 - autentykacja |
[SF]Symfony 3 - autentykacja |
28.06.2016, 23:10:53
Post
#1
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 0 Dołączył: 29.04.2007 Ostrzeżenie: (0%) |
Próbuję zrobić logowanie użytkowników zgodnie z opisem http://symfony.com/doc/current/cookbook/se...y_provider.html
Niestety nijak mi to nie idzie. Entity User.php mam zrobione jak w przykładzie. Tak samo baze danych. Próbowałem hasła trzymać jako bcrypt, md5 oraz plaintext i nic nie działa. Plik security.yml Kod security: encoders: AppBundle\Entity\User: plaintext role_hierarchy: ROLE_ADMIN: [ROLE_USER] providers: our_db_provider: entity: { class: AppBundle:User, property: username } firewalls: main: pattern: ^/ anonymous: ~ provider: our_db_provider form_login: login_path: / check_path: / logout: path: /logout target: / access_control: - { path: ^/admin, roles: ROLE_ADMIN } W formularzu przekazuję zmienne jako _username oraz _password czyli zgodnie z dokumentacją. Kontroler do obsługi:
Jak podam błędne dane do logowania to otrzymuję Kod exception 'Symfony\Component\Security\Core\Exception\BadCredentialsException' with message 'Bad credentials.' Jak podam poprawne to nie przekierowuje mnie do admin_dashboard i nie zwraca żadnego błędu. W debugu dalej jestem jako anonymous W bazie mam rolę ROLE_ADMIN i takie też mam w getRoles zwracane w entity User. Co jest nie tak? |
|
|
29.06.2016, 07:35:22
Post
#2
|
|
Grupa: Zarejestrowani Postów: 147 Pomógł: 3 Dołączył: 28.12.2007 Skąd: toronto Ostrzeżenie: (0%) |
|
|
|
29.06.2016, 07:40:27
Post
#3
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 0 Dołączył: 29.04.2007 Ostrzeżenie: (0%) |
A np to zmieniłeś ? Inaczej nie ma szans na przejscie do admin_dashboard
Mam tak:
A powinno być ROLE_USER? Generalnie chciałbym, żeby role pobierał mi z rekordu w bazie. Mam w bazie pole roles w tabeli USER |
|
|
29.06.2016, 07:58:45
Post
#4
|
|
Grupa: Zarejestrowani Postów: 147 Pomógł: 3 Dołączył: 28.12.2007 Skąd: toronto Ostrzeżenie: (0%) |
Zerknij na fos user bundle i tam poszukaj metody getRoles, getSalt itp. W przykładzie encji który podałeś masz komentarze w niektórych miejscach.
Raczej coś w ten deseń Ten post edytował punkomuzykant 29.06.2016, 08:00:01 |
|
|
29.06.2016, 08:42:35
Post
#5
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 0 Dołączył: 29.04.2007 Ostrzeżenie: (0%) |
|
|
|
29.06.2016, 10:36:19
Post
#6
|
|
Grupa: Zarejestrowani Postów: 147 Pomógł: 3 Dołączył: 28.12.2007 Skąd: toronto Ostrzeżenie: (0%) |
Czyli muszę tutaj podawać wszystkie możliwe role użyte w aplikacji? Musisz raczej uznać że rola ROLE_USER jest podstawową rolą użytkownika zalogowanego. A pozostałe role powinieneś pobrać z bazy danych dla konkretnego usera. W fos user masz cos takiego np
gdzie static::ROLE_DEFAULT to ROLE_USER o ile pamietam. fos user bundle user entity Ten post edytował punkomuzykant 29.06.2016, 10:37:50 |
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 21:30 |