Ich benutze symfony 3.2.3, und ich möchte den Zugriff auf die gleichen Seiten beschränken. Ok, kein Problem! Konfigurieren von security.yml, alles kann getan werden, und tatsächlich funktioniert es in der Entwicklungsumgebung. Aber wenn ich meine Symfony-Site im Produktionsmodus umschalte, funktioniert nichts mehr!symfony Sicherheit prod funktioniert nicht
Schaltbefehle prod:
- php bin \ Konsole Cache: klar --env = prod --no-debug
Ich habe 4 Seiten:
- /Homepage (kann auf alle zugreifen)
- /Glück (kann auf alle zugreifen)
- /auth_a rea (nur angemeldeten Benutzern Zugriff)
- /Backend (nur ROLE_ADMIN Benutzer zugreifen)
Hier mein security.yml
Sicherheit:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_USER_LOGGED: IS_AUTHENTICATED_FULLY
ROLE_ADMIN: ROLE_USER_LOGGED
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
anonymous: ~
http_basic: ~
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
logout:
path: /logout
target:/
access_control:
- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/backend, roles: ROLE_ADMIN }
- { path: ^/auth_area, roles: IS_AUTHENTICATED_FULLY }
Schließlich läuft alles auf dev, nichts funktioniert in prod: anonymer Benutzer kann überall zugreifen! !; (
Vielen Dank im Voraus
an Ihrer Zugangskontrolle Suche dieser Linien sind nutzlos, wenn Sie nur noch 2 spezifische Bereiche mit begrenztem Zugriff: '- {Pfad:^/, Rollen: IS_AUTHENTICATED_ANONYMOUSLY}' und - '{Pfad: ^/login $, Rolle: IS_AUTHENTICATED_ANONYMOUSLY}'. Kommentieren Sie diese 2 Anweisungen, löschen Sie den Cache und versuchen Sie es. PS: Ich denke, die erste Direktive wird immer angepasst und verursacht Ihr Problem. –