Symfony2的新手,我使用FOS用户包创建了一个新项目。
当我尝试登录或注册时出现此错误:
网址:http://symfony.local/login_check
Fatal error: Cannot redeclare class Symfony\Component\Security\Http\EntryPoint\FormAuthenticationEntryPoint
在网上看了几个小时后,我完全迷失了。
有人帮我吗?
答案 0 :(得分:0)
login_check不是登录页面,它是执行登录检查脚本的路由 你检查过你的security.yml文件是否有适当的防火墙和提供商等? 你需要这样的东西:
security:
providers:
in_memory:
memory: ~
fos_userbundle:
id: fos_user.user_provider.username_email
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: .*
context: user
form_login:
success_handler: authentication_handler
failure_handler: authentication_handler
provider: fos_userbundle
csrf_provider: form.csrf_provider
login_path: /user/login
check_path: /user/login_check
default_target_path: /user/dashboard
always_use_default_target_path: true
logout:
path: /user/logout
target: /
anonymous: true
#fos security configurations
encoders:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_SONATA_ADMIN, ROLE_ADMINROLE_ALLOWED_TO_SWITCH ]
access_control:
- { path: ^/user/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/user/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/user/register, roles: [ ROLE_SUPER_ADMIN ] }
- { path: ^/user, roles: [ ROLE_USER, ROLE_SUPER_ADMIN ] }
- { path: ^/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
acl:
connection: default
答案 1 :(得分:0)
花了好几个小时才搞清楚,我发现问题是由于 APC 启用了......
只需关闭它,问题就会消失。
我的配置: