Symfony - 您必须在安全防火墙配置中使用 form_login 配置要由防火墙处理的检查路径
Symfony - You must configure the check path to be handled by the firewall using form_login in your security firewall configuration
你好,我在使用 fosuserbundle 的 symfony 项目中遇到问题
当我尝试在 /login
上连接时,它给我这个错误
You must configure the check path to be handled by the firewall using form_login in your security firewall configuration.
这是我的应用路由文件
co_manager_back:
resource: "@CoManagerBackBundle/Resources/config/routing.yml"
prefix: /{_locale}
co_manager_front:
resource: "@CoManagerFrontBundle/Resources/config/routing.yml"
prefix: /{_locale}
co_manager_user:
resource: "@CoManagerUserBundle/Resources/config/routing.yml"
prefix: /{_locale}
_liip_imagine:
resource: "@LiipImagineBundle/Resources/config/routing.xml"
fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
prefix: /{_locale}
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
这是我的安全文件
# app/config/security.yml
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
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_token_generator: security.csrf.token_manager
# if you are using Symfony < 2.8, use the following config instead:
# csrf_provider: form.csrf_provider
default_target_path: /admin
remember_me:
secret: '%secret%'
lifetime: 604800 # 1 week in seconds
path: /
# by default, the feature is enabled by checking a
# checkbox in the login form (see below), uncomment the
# following line to always enable it.
#always_remember_me: true
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 }
这是我的配置文件
# fos user
fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
user_class: CoManager\UserBundle\Entity\User
from_email:
address: mdz.dev6@gmail.com #"%mailer_user%"
sender_name: yassine #"%mailer_user%"
希望对我有帮助。谢谢.
将此添加到路由并尝试:
fos_user_security_login:
path: /login
defaults: { _controller: FOSUserBundle:Security:login, _method: POST }
fos_user_security_logout:
path: /logout
defaults: { _controller: FOSUserBundle:Security:logout, _method: POST }
你好,我在使用 fosuserbundle 的 symfony 项目中遇到问题
当我尝试在 /login
上连接时,它给我这个错误
You must configure the check path to be handled by the firewall using form_login in your security firewall configuration.
这是我的应用路由文件
co_manager_back:
resource: "@CoManagerBackBundle/Resources/config/routing.yml"
prefix: /{_locale}
co_manager_front:
resource: "@CoManagerFrontBundle/Resources/config/routing.yml"
prefix: /{_locale}
co_manager_user:
resource: "@CoManagerUserBundle/Resources/config/routing.yml"
prefix: /{_locale}
_liip_imagine:
resource: "@LiipImagineBundle/Resources/config/routing.xml"
fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
prefix: /{_locale}
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
这是我的安全文件
# app/config/security.yml
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
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_token_generator: security.csrf.token_manager
# if you are using Symfony < 2.8, use the following config instead:
# csrf_provider: form.csrf_provider
default_target_path: /admin
remember_me:
secret: '%secret%'
lifetime: 604800 # 1 week in seconds
path: /
# by default, the feature is enabled by checking a
# checkbox in the login form (see below), uncomment the
# following line to always enable it.
#always_remember_me: true
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 }
这是我的配置文件
# fos user
fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
user_class: CoManager\UserBundle\Entity\User
from_email:
address: mdz.dev6@gmail.com #"%mailer_user%"
sender_name: yassine #"%mailer_user%"
希望对我有帮助。谢谢.
将此添加到路由并尝试:
fos_user_security_login:
path: /login
defaults: { _controller: FOSUserBundle:Security:login, _method: POST }
fos_user_security_logout:
path: /logout
defaults: { _controller: FOSUserBundle:Security:logout, _method: POST }