• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Problem z security.yml - Symfony 3

Object Storage Arubacloud
0 głosów
859 wizyt
pytanie zadane 13 maja 2016 w PHP przez HaKIM Szeryf (87,590 p.)
zamknięte 14 maja 2016 przez HaKIM

Hej.

Testuję sobie symfony, ostatnim czasy zająłem się logowaniem. Koniec końców natknąłem się na bug, którego nie potrafię rozwiązać:

InvalidTypeException in ArrayNode.php line 273:
Invalid type for path "security.firewalls.provider". Expected array, but got string

Szegóły: http://pastebin.com/4qBm6e0N

Expected array, but got string. - Spokojnie, umiem czytać.

Kod security.yml to:

security:
  encoders:
    AppBundle\Entity\Users: bcrypt
    # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
  providers:
    our_db_provider:
      entity:
        class: AppBundle:Users
        property: username
    users:
      entity:
        class: AppBundle\Entity\Users

  firewalls:

    secured_area:
      pattern: ^/(_(profiler|wdt)|css|images|js)/
      security: false

    provider: our_db_provider

    form_login:
      login_path: login
      check_path: login
      always_use_default_target_path: true
      default_target_path: http://localhost/fullaps/web/
      target_path_parameter: redirect_url
      username_parameter: _username
      password_parameter: _password

    dev:
      pattern: ^/(_(profiler|wdt)|css|images|js)/
      security: false

    main:
      anonymous: ~
      http_basic: ~

    logout:
      path: /logout
      target: /login

    default:
      anonymous: ~
      http_basic: ~

  access_control:
    - { path: ^/admin, roles: ROLE_ADMIN }

Nie wiem jak błąd ten rozwiązać, próbowałem wielu rzeczy, żadna nie była trafna.


Naprawione!

Kod:

# http://stackoverflow.com/questions/32097645/invalidconfigurationexception-in-securityextension-php-line-429-no-authenticati
# http://symfony.com/doc/current/book/security.html#book-security-logging-out
security:
    providers:
        our_db_provider:
            entity:
                class: AppBundle:Users
                property: username
        users:
            entity:
                class: AppBundle\Entity\Users
    encoders:
      AppBundle\Entity\Users: bcrypt

    firewalls:
        secured_area:
            anonymous: ~
            pattern: ^/
            http_basic: ~
            provider: our_db_provider
            form_login:
                login_path: /login
                check_path: /login

                always_use_default_target_path: true
                default_target_path: http://localhost/fullaps/web/
            logout:
              path: /logout
              target: /login

        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

    access_control:
      - { path: ^/admin, roles: ROLE_ADMIN }

Dziękuję za rady.

Życzę miłego dnia. :)

komentarz zamknięcia: Problem rozwiązany.

1 odpowiedź

+1 głos
odpowiedź 13 maja 2016 przez SyntaxError Pasjonat (17,170 p.)
wybrane 14 maja 2016 przez HaKIM
 
Najlepsza

Poleciałeś na grubo. :D

 

Chyba powinno być coś takiego, ale gwarancji nie daje, bo hardcorowo się tu w yamlu pisze :D.

 

security:
  encoders:
    AppBundle\Entity\Users: bcrypt
    # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
  providers:
    our_db_provider:
      entity:
        class: AppBundle:Users
        property: username
    users:
      entity:
        class: AppBundle\Entity\Users
 
  firewalls:
    secured_area:
      pattern: ^/
      provider: our_db_provider
      form_login:
        login_path: login
        check_path: login
        always_use_default_target_path: true
        default_target_path: http://localhost/fullaps/web/
        target_path_parameter: redirect_url
        username_parameter: _username
        password_parameter: _password
      logout:
        path: /logout
        target: /login
 
    dev:
      pattern: ^/(_(profiler|wdt)|css|images|js)/
      security: false
 
  access_control:
    - { path: ^/admin, roles: ROLE_ADMIN }

Nie musisz tworzyć nowego firewalla za każdym razem jak kopiujesz coś. :P provider, form_login, logout są wewnątrz firewalla, a nie są firewallami.

komentarz 13 maja 2016 przez HaKIM Szeryf (87,590 p.)

Strona localhost nie działa

Strona localhost spowodowała zbyt wiele przekierowań.

Lepsze to od tego, co zwraca Symfony, haha. :) 

komentarz 13 maja 2016 przez SyntaxError Pasjonat (17,170 p.)
Plik a.php z header("Location: /b.php") i plik b.php z header("Location: /a.php"). Nie potrzeba symfony, żeby zrobić pętle przekierowań. :P
komentarz 13 maja 2016 przez HaKIM Szeryf (87,590 p.)

Poprawiłem kod, nie wywala błędu:

# http://stackoverflow.com/questions/32097645/invalidconfigurationexception-in-securityextension-php-line-429-no-authenticati
# http://symfony.com/doc/current/book/security.html#book-security-logging-out
security:
  encoders:
    AppBundle\Entity\Users: bcrypt
    # http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
  providers:
    our_db_provider:
      entity:
        class: AppBundle:Users
        property: username
    users:
      entity:
        class: AppBundle\Entity\Users

  firewalls:
    secured_area:
      pattern: ^/(_(profiler|wdt)|css|images|js)/
      security: false
      provider: our_db_provider
      form_login:
        login_path: login
        check_path: login

        always_use_default_target_path: true
        default_target_path: http://localhost/fullaps/web/

        target_path_parameter: redirect_url

        username_parameter: _username
        password_parameter: _password
      logout:
        path: /logout
        target: /

    dev:
      pattern: ^/(_(profiler|wdt)|css|images|js)/
      security: false

    default:
      pattern: ^/
      anonymous: ~
      
  access_control:
    - { path: ^/admin, roles: ROLE_ADMIN }

Ale... Gdy podaję złe dane do panelu logowania, one po prosta nie są sprawdzane...

Żadnego errorka.... Nic.

komentarz 13 maja 2016 przez efiku Szeryf (75,160 p.)

Podobne pytania

0 głosów
1 odpowiedź 272 wizyt
pytanie zadane 19 stycznia 2019 w PHP przez niezalogowany
0 głosów
1 odpowiedź 182 wizyt
pytanie zadane 18 października 2018 w PHP przez Tom K Nowicjusz (190 p.)
0 głosów
1 odpowiedź 104 wizyt
pytanie zadane 14 października 2018 w PHP przez Piotr Zakrzewski Obywatel (1,260 p.)

92,579 zapytań

141,432 odpowiedzi

319,657 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...