私は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/voters.htmlしかし、私はFOSUserBundleの使用を強く推奨します。 http://symfony.com/doc/current/bundles/FOSUserBundle/index.html – Elyass
あなたの問題は何ですか? – Terenoth
私の正確な問題:ユーザーにログインさせて、ユーザーにしか見えないユーザーページにリダイレクトさせたい。 – user1645161