2011-12-21 7 views
3

중간 크기의 웹 응용 프로그램을 빌드하는 데 Pyramid를 사용할 것을 고려하고 있습니다. RBAC을 구현해야합니다. 무엇이 최선의 선택일까요? Zope 구성 요소를 사용할 수 있습니까?Pyramid를 통한 역할 기반 액세스 제어

+0

응용 프로그램에서 RBAC를 구현하려는 나의 목표는 사용자에게 몇 가지 권한을 위임 할 수 있다는 것입니다. 즉, 사용자가 다른 사용자에게 사용 가능한 모든 작업을 권한을 부여 할 수 있습니다. Rbac은 또한 매우 강력한 개념 인 역할 계층을 허용합니다. 내가 도울 수있는 파이썬 모듈을 찾지 못했습니다 ... – gpasse

답변

2

음 Pyramid는 주체를 사용 권한에 매핑하는 ACL 권한 부여 정책을 구현합니다.

  1. 주체는 사용자가 원하는대로 무엇이든 요청할 수 있으며 요청 (사용자) 자체에서 파생됩니다.
  2. 권한은 개별보기 또는 "작업"에 첨부 된 문자열입니다.

어쩌면 틀 렸지만 RBAC이이 아이디어에 자연스럽게 어울리는 것 같습니다. 나는 RBAC가 글로벌 정책의 경향이있는 반면 ACL은 일반적으로 문맥 적이며 따라서 데이터에 첨부되는 경향이 있음을 이해합니다. 이것은 실제로 문제가되지 않으며 응용 프로그램의 나머지 부분을 구조화 할 방법에 달려 있습니다.

자신 만의 RBACAuthorizationPolicy을 구현할 수도 있습니다. Pyramid에서는 프린시 펄과 권한이 전달되고 액세스 매핑을 쿼리하여 해당 사용자에 대해 Allowed 또는 Denied 값을 반환할지 여부를 결정할 수 있습니다.

+0

역할을 포함하는 파이썬 acl을 발견했습니다. https://github.com/limscoder/Python-ACL/ 및 https://github.com/kyleterry/simpleacl-py – gpasse

관련 문제