Php Symfony2-带FOSUserBundle的防火墙
这里有Symfony2的新用户 我正在尝试用FOSUserBundle设置防火墙 在/admin/需要用户成为管理员之后,我得到了一切 但是,我想将登录路径移动到/admin/login,而不仅仅是/login Security.ymlPhp Symfony2-带FOSUserBundle的防火墙,php,symfony,fosuserbundle,Php,Symfony,Fosuserbundle,这里有Symfony2的新用户 我正在尝试用FOSUserBundle设置防火墙 在/admin/需要用户成为管理员之后,我得到了一切 但是,我想将登录路径移动到/admin/login,而不仅仅是/login Security.yml security: encoders: FOS\UserBundle\Model\UserInterface: sha512 role_hierarchy: ROLE_ADMIN: ROLE_USER
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
access_control:
- { path: ^admin/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^admin/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
pwd_admin:
resource: "@PWDAdminBundle/Resources/config/routing.yml"
prefix: /admin
pwd_website:
resource: "@PWDWebsiteBundle/Resources/config/routing.yml"
prefix: /
fos_js_routing:
resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"
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: /admin/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
Routing.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
access_control:
- { path: ^admin/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^admin/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
pwd_admin:
resource: "@PWDAdminBundle/Resources/config/routing.yml"
prefix: /admin
pwd_website:
resource: "@PWDWebsiteBundle/Resources/config/routing.yml"
prefix: /
fos_js_routing:
resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"
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: /admin/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
尝试访问/admin/login
编辑:路线
fos_user_security_login ANY ANY ANY /login
fos_user_security_check POST ANY ANY /login_check
fos_user_security_logout ANY ANY ANY /logout
fos_user_profile_show GET ANY ANY /profile/
fos_user_profile_edit ANY ANY ANY /profile/edit
fos_user_registration_register ANY ANY ANY /admin/register/
您需要将security.yml更改为:
security:
firewalls:
main:
form_login:
login_path: /admin/login
您需要将security.yml更改为:
security:
firewalls:
main:
form_login:
login_path: /admin/login
我遇到了与您相同的问题,下一个解决方案帮助我查看登录页面 尝试将前缀添加到fos\u用户\u安全路由
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
prefix: admin
希望这有帮助。您可能会进一步遇到一些访问问题,对此我还没有解决方案,但也许您可以自己找到解决方案。祝你好运,也许你会和我们分享解决方案,那太好了
享受编码乐趣。我遇到了与您相同的问题,下一个解决方案帮助我查看登录页面 尝试将前缀添加到fos\u用户\u安全路由
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
prefix: admin
希望这有帮助。您可能会进一步遇到一些访问问题,对此我还没有解决方案,但也许您可以自己找到解决方案。祝你好运,也许你会和我们分享解决方案,那太好了
有趣的编码。我仍然找不到“get/admin/login”的路由,你可以制作php应用程序/控制台路由器:调试吗?我仍然找不到“get/admin/login”的路由,你可以制作php应用程序/控制台路由器:调试吗?是的,我们需要为
/admin/login
定义路由,但是如果我们也有一个公共的,具有不同路由ID的,我们需要复制安全性以拥有admin\u security.xml
。谢谢,我有同样的问题,我可以解决它。我还没有定义路由。是的,我们需要为/admin/login
定义路由,但是如果我们也有一个公共路由,则需要复制安全性以具有admin\u security.xml
,具有不同的路由ID。谢谢,我遇到了相同的问题,我可以解决它。我还没有确定路线。