2012-09-02 6 views
0

내가 심포니 ACL을 구성하기 위해 노력하고있어 :Symfony2 및 보안 역할 구성

access_control: 
    - { path: ^/, role: ROLE_A } 

role_hierarchy: 
    ROLE_A:   ROLE_USER 
    ROLE_B:   ROLE_A 
    ROLE_ADMIN:  ROLE_B 
    ROLE_SUPER_ADMIN: ROLE_ADMIN 

그래서 : AUSER, B에서 A

에서 확장 문제는 그 내가 ADMIN로 로그인 할 때 또는 SUPER_ADMIN 나는 승인을 얻지 못했습니다 403. A으로 승인 된 경우에만 작동합니다. 왜? 역할 확장에있어 내가 뭘 잘못하고 있니?

+0

당신이 당신의 전체 보안 설정을 게시 할 수 있어야한다 생각 –

+0

[페이스트 빈 (http://pastebin.com/6XWiNfff) . 감사! – user1116589

+0

필자와 매우 비슷한 구성을 가지고 있으며, FOSUserBundle을 사용합니다 (JMSSecurity를 ​​사용하지 않지만이 문제가 중요하지 않다고 생각합니다). 그리고 역할 계층 구조를 시도해 보았습니다. –

답변

0

내가 아는 한 역할 계층 구조는 하향식으로 정의해야합니다. 따라서 위의 예에서 당신이해야

role_hierarchy: 
     ROLE_SUPER_ADMIN: ROLE_ADMIN 
     ROLE_ADMIN:  ROLE_B 
     ROLE_B:   ROLE_A 
     ROLE_A:   ROLE_USER 
+0

안녕하십니까? Krzysztof, 답장을 보내 주셔서 감사합니다. Book Accordig 나는 "minor"역할이 먼저 이루어져야한다고 확신했다 : (http://symfony.com/doc/current/book/security.html#hierarchical-roles). 나는 그것을 점검 할것이다. – user1116589

+0

안녕하세요, 불행히도 작동하지 않습니다./ – user1116589

0

을 나는 그것이

role_hierarchy: 
    ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_B, ROLE_A, ROLE_USER] 
    ROLE_ADMIN:  [ROLE_B, ROLE_A, ROLE_USER] 
    ROLE_B:   [ROLE_A, ROLE_USER] 
    ROLE_A:   ROLE_USER 
+0

[보안 구성 참조] (http://symfony.com/doc/current/reference/configuration/security.html)를 참조하십시오. –