雖然我設法設置了一個基於角色的身份驗證和防火牆的工作站點,但我對Symfony相當陌生我很努力地研究如何構建一個允許用戶登錄並訪問只有他們和管理員才能訪問的頁面的系統。Symfony - 啓用密碼保護用戶頁面的安全/路由設置
我真正想要的是一個動態的安全角色,這使得在自己的私人頁面,並阻止其他人在當前會話訪問的用戶...
這裏是我的實際配置:
security: encoders: #define the encoders used to encode passwords Symfony\Component\Security\Core\User\User: plaintext IntuitByDesign\UserBundle\Entity\User: bcrypt role_hierarchy: ROLE_ADMIN: [ROLE_USER] providers: chain_provider: chain: providers: [in_memory, user_db] in_memory: memory: users: admin: { password: adminpass, roles: ROLE_ADMIN } user_db: entity: {class: IntuitByDesignUserBundle:User, property: username } firewalls: main: logout: true pattern: /.* form_login: login_path: login check_path: login default_target_path: /user logout: path: /logout target:/ security: true anonymous: true access_control: - { path: /login, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: /logout, roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: /user, roles: ROLE_ADMIN } - { path: /user-page/, roles: ROLE_USER} - { path: /.*, roles: IS_AUTHENTICATED_ANONYMOUSLY }
如何做到這一點的任何提示?
更新:登錄後我想重定向頁面,只有特定的登錄用戶可以看到。
我認爲這可能實現的方式可能是匹配會話用戶名和用戶路徑?
如果你是新上的Symfony,我可能會失去你這個,但你可以使用一個選民執行此操作:HTTP://的symfony .com/doc/current/cookbook/security/vot.html但我強烈建議使用FOSUserBundle。 http://symfony.com/doc/current/bundles/FOSUserBundle/index.html – Elyass
究竟是什麼問題? – Terenoth
我確切的問題:我希望用戶登錄並被重定向到只有他們可以看到的用戶頁面。 – user1645161