Php 如何在symfony 3中为easyadmin和客户端页面创建单独的登录页面
我已经在Symfony 3中安装了FOSUser bundle和Easyadmin。一切正常 仅供参考,我的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
/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
。否则可能会有办法,但我帮不了你,对不起,我的问题解决了。如需将来参考,请参阅下面我的答案。谢谢