我正在编写一个web应用程序,我想使用repoze.what
&;repoze.who
来处理我的授权和身份验证。问题是repoze.what
似乎是硬编码以接受特定的权限模型,即:
例如,您的权限可能是“可以发表文章”和“可以发表评论”,而您的组可能是“作者”、“访问者”,其中“作者”既可以发表文章,也可以发表评论,而访问者只能发表评论。在
这种模式可能适用于大多数网站。然而,我的网站允许团队在不同的层次上相互协作。所以我需要的安全模型是:
组的数量会随着时间的推移而变化,这些组的成员资格也会发生变化。我找不到任何简单的方法来将这个权限模型集成到repoze.what
。我错过了什么明显的东西吗?在
我有了一个答案,经过一段时间的摆弄。在
答案是使用休息。什么文档说明,如果你这样做,你可以免费使用它们的谓词。幸运的是,编写和使用自己的谓词是小菜一碟。在我看来,唯一的硬性要求是用户对象(尽管很明显,您可以随意调用它)。在我的应用程序中,我有一堆自定义谓词,可以检查某些内容,例如:
然后我可以在任何地方使用这些谓词。在
好吧,你可以很容易地有一个“群发评论者”组和“群发编辑”组。它们不必手动生成。:)你的模型实际上只是分组的问题。在
但您还应该能够制作实现规则的谓词检查程序。在
http://what.repoze.org/docs/1.0/Manual/Predicates/index.html#term-predicate
相关问题 更多 >
编程相关推荐