2016-07-04 2 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

, 난이 당신을 잃어 버릴 수 있지만이 작업을 수행하기 위해 유권자를 사용할 수 있습니다 : HTTP : // 심포니 .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