Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF][Symfony3.1]Dwa panele użytkownika i administracyjny
mariio81
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 10.03.2011

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


Witam, piszę aplikację w której będą dwa oddzielne systemy logowania, panel dla użytkowników i panel administracyjny. Do panelu administracyjnego zalogować się będą mogli tylko administratorzy. Wykorzystuję do tego FOSUserBundle. Logowanie do panelu użytkownika zrobiłem na domyślnych kontrolerach i widokach. Z jednym panelem wszystko działa bez problemu ale przy dwóch jest problem z wysłaniem danych logowania. Zrobiłem w bazie dwie jednakowe tabele fos_user i fos_admin. Według dokumentacji do config.yml dodałem:
  1. fos_user:
  2. db_driver: orm
  3. firewall_name: panel
  4. user_class: AppBundle\Entity\User
  5. service:
  6. mailer: fos_user.mailer.twig_swift
  7. resetting:
  8. email:
  9. template: email/password_resetting.email.twig
  10. registration:
  11. confirmation:
  12. enabled: true
  13. template: FOSUserBundle:Registration:email.txt.twig
  14. firewall_name: admin
  15. user_class: AppBundle\Entity\Admin


A w security.yml:
  1. providers:
  2. admin:
  3. entity:
  4. class: AppBundle:Admin
  5. property: username
  6. user:
  7. entity:
  8. class: AppBundle:User
  9. property: username
  10.  
  11. firewalls:
  12. dev:
  13. pattern: ^/(_(profiler|wdt)|css|images|js)/
  14. security: false
  15.  
  16. panel:
  17. pattern: ^/panel
  18. form_login:
  19. provider: user
  20. login_path: /panel/logowanie
  21. check_path: /panel/login_check
  22. failure_path: /panel/logowanie
  23. csrf_token_generator: security.csrf.token_manager
  24. always_use_default_target_path: true
  25. default_target_path: /panel/pulpit
  26. logout:
  27. path: /panel/wyloguj
  28. target: /panel/logowanie
  29. anonymous: true
  30.  
  31. admin:
  32. pattern: ^/admin
  33. form_login:
  34. provider: admin
  35. login_path: /admin/logowanie
  36. check_path: /admin/login_check
  37. failure_path: /admin/logowanie
  38. csrf_token_generator: security.csrf.token_manager
  39. always_use_default_target_path: true
  40. default_target_path: /admin/pulpit
  41. logout:
  42. path: /admin/wyloguj
  43. target: /admin/logowanie
  44. anonymous: true
  45.  
  46. access_control:
  47. - { path: ^/panel/logowanie$, role: IS_AUTHENTICATED_ANONYMOUSLY }
  48. - { path: ^/panel/login_check$, role: IS_AUTHENTICATED_ANONYMOUSLY }
  49. - { path: ^/panel/rejestracja, role: IS_AUTHENTICATED_ANONYMOUSLY }
  50. - { path: ^/panel/*, role: ROLE_USER }
  51.   - { path: ^/admin/logowanie$, role: IS_AUTHENTICATED_ANONYMOUSLY }
  52.   - { path: ^/admin/login_check$, role: IS_AUTHENTICATED_ANONYMOUSLY }
  53.   - { path: ^/admin/*, role: ROLE_ADMIN }



A w routing.yml wpisy odpowiedzialne za logowanie:
  1. fos_user:
  2. resource: "@FOSUserBundle/Resources/config/routing/all.xml"
  3.  
  4. fos_user_security_login:
  5. path: /panel/logowanie
  6. defaults: { _controller: FOSUserBundle:Security:login, _method: POST }
  7.  
  8. fos_user_security_check:
  9. path: /panel/login_check
  10. defaults: { _controller: FOSUserBundle:Security:check }
  11.  
  12. fos_admin_security_login:
  13. path: /admin/logowanie
  14. defaults: { _controller: AppBundle:Security:login, _method: POST }
  15.  
  16. fos_admin_security_check:
  17. path: /admin/login_check
  18. defaults: { _controller: AppBundle:Security:check }


Do logowania do panelu administracyjnego nadpisałem domyślne kontrolery i widoki i tu jest problem bo po wysłaniu formularza logowania przekierowuje mnie na stronę logowania do panelu użytkownika i dostaję że dane są nie poprawne. Wygląda to tak jakby sprawdzało dane logowania do panelu admina w tabeli fos_user a powinno w tabeli fos_admin.
Nie wiem czy dobrze to wszystko robię ale takie coś poskładałem z tego co znalazłem w sieci i widzę że nie działa to.

Ten post edytował mariio81 18.11.2016, 19:53:04
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 04:53