【发布时间】:2014-04-26 03:33:57
【问题描述】:
我用 symfony 开发了我的第一个网站,所以也许我遇到了一个非常明显的问题。
我在本地开发服务器上没有问题,但是由于我将它发送到我的实时服务器并使用 app.php 而不是 app_dev.php,所以我陷入了重定向循环......
我查看了互联网,似乎重定向循环通常是由 security.yml 引起的。
我正在使用 FOSUserBundle,也许这是相关的?!
编辑: 由于每个人都指出我使用 /admin 作为登录路径这一事实可能是我的问题的原因之一,我将其更改为 /admin/login 但我仍然有问题。
也许我应该澄清一些观点。该网站分为两部分: - 每个人都可以访问的前端 - 一个后台,您可以在其中找到一些 CMS 之类的页面和其他一些东西...,只能通过登录访问。
在每个页面上,即使我试图访问主页,我也陷入了这个循环。我最终得到了请求的网址,最后是一堆 ////////////////////////////
无论如何,这是我的新 security.yml :
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
#in_memory:
# memory:
# users:
# user: { password: userpass, roles: [ 'ROLE_USER' ] }
# admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }
fos_userbundle:
id: fos_user.user_manager
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/admin/login$
anonymous: true
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
login_path: /admin/login
always_use_default_target_path: true
default_target_path: /admin/menu
logout: ~
anonymous: true
access_control:
- { path: ^/admin/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
- { path: ^/, role: IS_AUTHENTICATED_ANONYMOUSLY }
routing.yml :
mcr:
resource: "@McrBundle/Controller/"
type: annotation
prefix: /
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
fos_user_security_login:
pattern: /admin/login
defaults: { _controller: FOSUserBundle:Security:login }
fos_user_security_check:
pattern: /admin/login_check
defaults: { _controller: FOSUserBundle:Security:check }
任何帮助将不胜感激:)
非常感谢。
【问题讨论】:
-
php app/console cache:clear --env=prod --no-debug清除缓存了吗? -
我做到了。我也试过 --no-warmup。
-
你的
check_path在你的firewall > main中是什么? -
现在,没有。我尝试了 /login_check 和 /admin/login_check,但我仍然卡在循环中。
-
我猜这是因为
^/admin$和分配给^/admin的角色。如果您查看 [symfony.com/doc/current/book/… Avoid Common Pitfalls 部分,您会发现问题
标签: php symfony fosuserbundle