Symfony 4:根据角色将用户定向到不同的页面

时间:2019-03-03 11:19:48

标签: symfony

这就是问题,我创建了一个具有2个角色的symfony 4应用程序:ROLE_USER和ROLE_Admin,具有2个页面:用户页面和Admin页面。 我对symfony完全陌生,文档也无济于事。 现在,我希望登录屏幕将每个用户定向到他各自的页面。我使用的是默认的security.yml,它直接指向默认的主页。 这是我的security.yaml文件:

security:
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
    hamda:
        entity:
            class: App\Entity\User
            property: username

encoders:
    App\Entity\User: bcrypt

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        anonymous: true
        provider: hamda
        form_login:
            login_path: login
            check_path: login
            default_target_path: /home


# Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used
access_control:
    - { path: ^/admin, roles: ROLE_ADMIN }

1 个答案:

答案 0 :(得分:3)

这可能是在symfony 4中解决此问题的正确方法:

https://stackoverflow.com/a/41441034/9757801

因此,使用自定义警卫很容易实现这一目标。