Non riesco a far funzionare correttamente la regola del firewall. Ho un utente che ha il ruolo D-COMPLIANCEDIALOG
e una regola del firewall, che concede l'accesso a tale regola: - { path: ^/ , roles: D-COMPLIANCEDIALOG }
. Ricevo ancora un accesso negato (Accesso negato, l'utente non è anonimo, né ricorda-me.).Symfony2 Firewall: l'utente ha il ruolo giusto ma "Accesso negato"
#security.yml
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
providers:
reddot:
id: reddot_user_provider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
secured_area:
pattern: ^/
anonymous: ~
http_basic: ~
simple_form:
authenticator: reddot_authenticator
check_path: login_check
login_path: login
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/ , roles: D-COMPLIANCEDIALOG }
dati utente da symfony profiler:
Username admin
Authenticated? yes
Roles [D-COMPLIANCEDIALOG]
Inherited Roles { }
Token class Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken
Quello che ho controllato:
- Il controllore non ha proprie impostazioni di sicurezza
- Il nome del ruolo non sembra avere un errore di battitura
- È davvero l'ultima riga nella regola del firewall, se la rimuovo, ho accesso.
Si potrebbe desiderare di fare il vostro controllo degli accessi login 'percorso: ^/login $, ruolo : IS_AUTHENTICATED_ANONYMOUSLY' con '$' per garantire che la tua rotta login_check sia protetta https://symfony.com/doc/master/bundles/FOSUserBundle/index.html#step-4-configure-your-application-s-security-yml –