我有那个代码。但是当我进入浏览器app_dev.php / login时 浏览器说:页面重定向太多了
security.yml 安全: 编码器: Symfony \ Component \ Security \ Core \ User \ User:plaintext
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
user_db:
entity: { class: DotfusionMerlinBundle:User, property: username }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
secured_area:
pattern: ^/
anonymous: ~
form_login:
check_path: /login_check
login_path: /login
logout:
path: login
target: login
#anonymous: ~
#http_basic:
# realm: "Secured Demo Area"
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
#- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
的routing.yml
login:
pattern: /login
defaults: { _controller: DotfusionMerlinBundle:User:login }
login_check:
pattern: /login_check
答案 0 :(得分:5)
在secured_area条目之前在防火墙下弹出:
login_firewall:
pattern: ^/login$
anonymous: ~
那应该可以解决你的问题。希望有所帮助。
答案 1 :(得分:0)
在我必须为其进行部署的应用程序中出现了相同的错误,并且在security.yml文件中也存在该错误,但设置不同:
我不得不换行:
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: http }
至:
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
因为我使用https进行了部署。 (在访问控制配置中将http更改为https )