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