我试图限制用户访问 /admin/ 中的任何内容,如果他们尝试这样做,他们将被重定向到 /login。
目前我可以进入使用传统登录表单的登录页面,如果我提交它,我会收到一条错误消息,提示“凭据错误”,因此 /login_check 似乎工作正常。但是,如果我转到 /admin/ 或 /admin/foo,它不会重定向到 /login。相反,它显示“找不到 GET /admin/ 的路由”。
我的 security.yml 文件是:
jms_security_extra:secure_all_services:假表达式:真
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
role_hierarchy:
ROLE_ADMIN:
ROLE_SUPER_ADMIN:
providers:
administrators:
entity: { class: XXXBundle:AdminUser, property: email }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
admin_area:
pattern: ^/admin
form_login:
login_path: /login
check_path: /admin/login_check
#anonymous: ~
#http_basic:
# realm: "Secured Demo Area"
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
我的 routing.yml 文件是:
login:
pattern: /login
defaults: { _controller: XXXBundleSecurity:login }
login_check:
pattern: /admin/login_check