Php 如何在symfony 3中为easyadmin和客户端页面创建单独的登录页面

Php 如何在symfony 3中为easyadmin和客户端页面创建单独的登录页面,php,symfony,Php,Symfony,我已经在Symfony 3中安装了FOSUser bundle和Easyadmin。一切正常 仅供参考,我的easyadmin路线是/admin 如果用户未登录并将访问/admin路由,则会将其重定向到配置的FOSUser捆绑包/login 我想要的是有一个单独的页面用于管理员登录和客户端登录 假设,如果用户(未登录)将访问/admin,则应将其重定向到管理员登录,即/admin/login。如果用户要访问客户端的/dashboard,则应将其重定向到/login 下面是我的security.y

我已经在Symfony 3中安装了FOSUser bundle和Easyadmin。一切正常

仅供参考,我的easyadmin路线是
/admin

如果用户未登录并将访问
/admin
路由,则会将其重定向到配置的FOSUser捆绑包
/login

我想要的是有一个单独的页面用于管理员登录和客户端登录

假设,如果用户(未登录)将访问
/admin
,则应将其重定向到管理员登录,即
/admin/login
。如果用户要访问客户端的
/dashboard
,则应将其重定向到
/login

下面是我的security.yml配置:

#From security.yml file

  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                
            login_path: /login
            check_path: /login_check
            always_use_default_target_path: false
            default_target_path: /dashboard
 #routing.yml
 easy_admin_bundle:
     resource: "@EasyAdminBundle/Controller/"
     type:     annotation
     prefix:   /admin

有人知道吗?

更改设置后,我的问题得到了解决

我将
前缀:/admin
添加到我路由的fos_用户下。这意味着,登录将被重定向到
/admin
,但是,由于用户尚未登录,它将推回到
/admin/login
uri

# app/config/routing.yml
fos_user:
   prefix:   /admin
   resource: "@FOSUserBundle/Resources/config/routing/all.xml"

#Easy admin bundle
easy_admin_bundle:
   resource: "@EasyAdminBundle/Controller/"
   type:     annotation
   prefix:   /admin
另外,这里是我的security.yml上的配置。确保提供程序是
fos\u userbundle

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]
providers:
    fos_userbundle:
        id: fos_user.user_provider.username_email

firewalls:            
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    admin_area:
        pattern:    ^/admin
        anonymous:  ~
        provider:   fos_userbundle
        form_login:
            default_target_path: /admin
            check_path: /admin/login_check
            login_path: /admin/login
            remember_me: true
        logout:
            path:   /admin/logout
            target: /admin
    main:
        anonymous: ~

如果您向users表添加了一些权限,那么您可以通过一个登录页面来完成,让PHP确定它是用户还是管理员正在使用fosUser捆绑包。如果我试图访问
/admin
,它会自动重定向到
/login
。你有这方面的教程吗?谢谢,我不知道fosUser包。但是我想说的是,如果您检查用户权限,您只需要
/login
。否则可能会有办法,但我帮不了你,对不起,我的问题解决了。如需将来参考,请参阅下面我的答案。谢谢