Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2-带FOSUserBundle的防火墙_Php_Symfony_Fosuserbundle - Fatal编程技术网

Php Symfony2-带FOSUserBundle的防火墙

Php 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

这里有Symfony2的新用户

我正在尝试用FOSUserBundle设置防火墙

/admin/需要用户成为管理员之后,我得到了一切

但是,我想将登录路径移动到/admin/login,而不仅仅是/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

    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。谢谢,我遇到了相同的问题,我可以解决它。我还没有确定路线。