2016-07-04 6 views
0

私は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 } 

これを行う方法に関するヒント?

更新:ログイン後、特定のログインしたユーザーだけが見ることができるページをリダイレクトしたいと思います。

これは、セッションのユーザー名とユーザーのパスを一致させることで達成できると思いましたか?

+0

あなたはsymfonyの上に新しいしている場合、私はこの上で、あなたを失うかもしれませんが、あなたはこのアクションを実行するために有権者を使用することができます。http:// symfonyの.com/doc/current/cookbook/security/voters.htmlしかし、私はFOSUserBundleの使用を強く推奨します。 http://symfony.com/doc/current/bundles/FOSUserBundle/index.html – Elyass

+0

あなたの問題は何ですか? – Terenoth

+0

私の正確な問題:ユーザーにログインさせて、ユーザーにしか見えないユーザーページにリダイレクトさせたい。 – user1645161

答えて

0

ユーザーがログインしている場合は、リダイレクトアクションでチェックできます。はい、ユーザーに応じてデータをロードした場合、ユーザーのシステムを作成することができFosUserBundle

表情。例えばユーザーIDで必要なデータをロードします。

すべてのユーザーは、自分自身に関連するデータを見ることができます。

あなたはこの質問に取り扱うユーザー認証の詳細を見つけることができます:How to check if an user is logged in Symfony2 inside a controller?

+1

ありがとうございました... – user1645161

関連する問題