나는 "파워"가 다른 여러 종류의 사용자가 필요한 프로젝트를 시작하려고합니다.Symfony2 인증 : 유권자 대. ACL
약간의 컨텍스트를 제공하기 위해 1000 명에서 10000 명 사이의 사용자가 필요합니다.
나는 적어도 3 "층"이 : A, B, C
"A"여러 프로젝트 "C"와 다른 클라이언트 "B"와 "컨설팅 회사", 각 각 수 있습니다.
한 사용자는 회사 "A"가 관리하는 모든 프로젝트의 개요를보아야 할 수도 있습니다. "B"회사 중 하나의 또 다른 회사입니다. 또 다른 프로젝트 "A". 일부 사용자에게는 각 레벨마다 세밀한 세부 묘사가 부여 될 수 있습니다 (사용자가 "B"레벨에서 세분화 된 레벨을 가지고 있지만 "A"레벨에서 아무것도 볼 수없는 경우 일 수도 있음). 일부 사용자에게는 읽기 권한 만 있고 다른 사용자에게는 읽기 및 수정 권한이 있고 다른 사용자에게는 읽기 권한, 수정 권한 및 생성 권한 만 있습니다.
결국에는 내가 읽기/쓰기/삭제/수정 권한을 부여해야하는 100,000 또는 100 만 "개체"로 끝날 수도 있습니다.
비교적 간단한 유권자 시스템 또는 본격적인 ACL 중 하나를 선택해야합니다. ACL이 꽤 강력 함에도 불구하고 잘 설명되어 있지 않다는 것을 알았습니다. 나는 유권자들을 거의 버렸지 만, 나는 내 마음을 바꾸게 해주는 this article을 읽었다. 기사에서 따옴표 :
이것은 일반적으로 ACL에 대해 이야기 할 때 생각합니다. "이 사용자"가 "개체"를 "편집"할 권한이 있다고 말할 수있는 기능입니다. Symfony2에서 사용자 정의 유권자를 활용하여 복잡한 비즈니스 로직을 결정할 수 있습니다.
당신이 유권자를 사용할 수있는 기사에 따르면이 같은 :
모든 유형의 제 2 인자가 있다는 것입니다isGranted의 또 다른 일반적으로 알 수없는 속성은 "개체"
내가 노출 한 문맥을 고려한 나의 질문은 다음과 같습니다.
1) 유권자 옵션을 통해 필요한 유연성을 얻을 수 있습니까?
2) 안전하게 사용할 수 있습니다, 확인 성능이 현명한 (ACL 특별히 성능에 부패가 없더라도 객체의 수백만, 나는 유권자을 선택하면 유권자에 의심)
3)를 가지고 있음을 명시 할 것 FOSUserBundle, Symfony 1.2와 관련된 내용이 지정 되었더라도?
Thank you! 비디오에서 역할 유권자가 갈 방법이 분명하다.) –
당신의 의견과 관련하여 3) 나는 1.2를 의미했다 (github (https://github.com/FriendsOfSymfony/FOSUserBundle)에서 다음의 "주의 :이 번들은 symfony의 저장소와 동기화되어 개발되었습니다 .Symfony 2.0.x의 경우에는 번들 (또는 그 이하)의 1.2.0 버전을 사용해야합니다. "3 번 질문에서 제공 한 링크를 자세히 확인해야합니다 , 실제로는 userbundle의 업데이트 버전 인 것 같습니다. –
FOSUserBundle을 구현했으며 참으로 매력적이었습니다. 팁 @ I3I0 덕분입니다! –