我正在考虑使用Pyramid来构建一个中等大小的Web应用程序.我需要实施RBAC.什么是最好的选择?是否可以使用Zope组件?
解决方法:
Well Pyramid实现了ACL授权策略,该策略将主体映射到权限.
> Principal可由您配置为您喜欢的任何内容,并且是从请求(用户)本身派生的.
>权限是附加到单个视图或“操作”的字符串.
也许我错了,但RBAC似乎非常适合这个想法.我知道RBAC往往更像是一个全局策略,而ACL通常是上下文的,因此附加到数据上.这不是一个真正的问题,取决于您计划如何构建应用程序的其余部分.
您也可以相当简单地实现自己的RBACAuthorizationPolicy.在Pyramid中,它将传递主体和权限,然后您可以查询访问映射以确定是否为该用户返回“允许”或“拒绝”值.