2011-03-17 64 views
2

我需要将身份验证和授权信息都存储在couchdb中。我使用了与this类似的方法来实现身份验证。不过,我需要为用户实施授权。我需要某些操作只能由特定用户调用。将使用user_passes_test装饰器是一个好主意吗?在使用CouchDb作为后端在Django中实现身份验证/授权

我也希望将会话存储移动到单独的couchdb实例。这是个好主意吗?任何人都可以给我关于如何去做这件事的指针/例子。

我是Python和Django的新手。

回答

0

要回答问题的第一部分,您需要实现的只是自定义身份验证后端的“身份验证”方法。 Django docs有一些如何实现身份验证后端的体面示例。

关于您的权限问题,它取决于您需要什么类型的权限检查的具体细节。如果您的权限模型与Django现有的权限系统非常吻合,则可以通过在自定义身份验证后端中实现可选的权限位,基于couchdb中的数据作出授权决定。再次,Django docs详细说明了如何做到这一点。

就会话存储而言,我不太了解CouchDB的性能特征,以说明是否需要将会话数据存储在单独的实例中。然而,我可以告诉你的是,无论哪种方式,您使用CouchDB实例的方式都是使用自定义session engine。通过快速浏览,看起来django-couchdb-utils可以为您提供一个会话引擎,您可以在没有太多工作的情况下投入(可能还有其他一些有用的位)。