我在考虑使用Pyramid来构建一个中等规模的Web应用程序。我需要实现RBAC(基于角色的访问控制)。什么是最好的选择?是否可以使用Zope组件?
我在考虑使用Pyramid来构建一个中等规模的Web应用程序。我需要实现RBAC(基于角色的访问控制)。什么是最好的选择?是否可以使用Zope组件?
Pyramid实现了一个ACL授权策略,将主体映射到权限。
也许我错了,但RBAC似乎很自然地适合这个想法。我知道RBAC倾向于成为全局策略,而ACL通常是上下文相关的,因此与数据相关联。不过这并不是问题,具体取决于您计划如何构建应用程序的其余部分。
您还可以相当简单地实现自己的RBACAuthorizationPolicy
。在Pyramid中,它将传递主体和权限,然后您可以查询访问映射以确定是否为该用户返回Allowed
或Denied
值。