首页 文章

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

提问于
浏览
1

我在Symfony 3中安装了FOSUser软件包和Easyadmin . 一切正常 .

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

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

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

假设,如果用户(未登录)将访问 /admin ,则应将其重定向到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配置:

#routing.yml
 easy_admin_bundle:
     resource: "@EasyAdminBundle/Controller/"
     type:     annotation
     prefix:   /admin

有人知道吗?

1 回答

  • 0

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

    我在路由上的fos_user下添加了 prefix:/admin . 意思是,登录将被重定向到 /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_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: ~
    

相关问题