我启动了一个新的 Symfony 应用程序,在其中使用 FOSUserBundle。
我安装了它,加载了捆绑包并配置了它。
这是我的configuration.yml
:
fos_user:
db_driver: orm
firewall_name: main
user_class: Myapp\UserBundle\Entity\User
and my 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
in_memory:
memory: ~
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
default:
anonymous: ~
main:
pattern: ^/
form_login:
login_path: fos_user_security_login
check_path: fos_user_security_check
provider: fos_userbundle
csrf_provider: form.csrf_provider
default_target_path: /
logout: true
anonymous: true
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 }
现在,当我去localhost/myapp/web/app_dev.php/login
,我尝试登录后收到以下错误 500(访问登录表单没有问题,这是在我提交后出现的):
您必须在安全防火墙配置中使用 form_login 配置要由防火墙处理的检查路径
在我看来,这form_login
在我的安全防火墙配置中进行了配置...我缺少什么?
我认为您没有导入 FOSUserBundle 的路由文件。你是否?
如果没有,您可以这样做:
http://symfony.com/doc/current/bundles/FOSUserBundle/index.html#step-6-import-fosuserbundle-routing-files http://symfony.com/doc/current/bundles/FOSUserBundle/index.html#step-6-import-fosuserbundle-routing-files
除此之外,这样做的目的是什么default
防火墙?当它试图“找到要使用的正确防火墙”时,它可能会拦截安全组件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)