大家好:) 好吧,我安装了 fosuserbundle 并完成了所有配置,但是当我输入用户名和密码时,我得到了 *未找到“GET/”的路由(来自//..../web/app_dev.php/login”)*
这就是我的 security.yml:
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
logout: true
anonymous: true
#http_basic:
# realm: "Secured Demo Area"
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
我的UserBundle/Ressources/config/routing.yml
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
fos_user_profile:
resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
prefix: /profile
fos_user_register:
resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
prefix: /register
fos_user_resetting:
resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
prefix: /resetting
fos_user_change_password:
resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
prefix: /profile
我的应用程序/config/routing.yml:
sdz_blog:
resource: "@SdzBlogBundle/Resources/config/routing.yml"
prefix: /blog
_user_bundle:
resource: "@SdzUserBundle/Resources/config/routing.yml"
请帮助我,我尝试了很多次:(
最佳答案
默认情况下,成功登录后,FosUserBundle 会重定向到 /
。如果您在此处显示的是您拥有的唯一路由,则没有任何路由与此模式匹配,因为它们都带有前缀(主要路由为 /blog
)。
在命令行中运行 php app/console router:debug
并检查是否有任何与模式 /
匹配的路由。
如果没有,您可以创建一个或更改 FosUserBundle 的默认重定向,如下所示:
# app/config/security.yml
security:
firewalls:
main: # or any other firewall name
form_login:
default_target_path: # Your route here
更多详情您可以查看:
http://symfony.com/doc/current/reference/configuration/security.html#redirecting-after-login
关于symfony - FriendsOfSymfony/FOSUserBundle 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22427616/