在Django中使用CouchDb作为后端实现身份验证/授权

时间:2011-03-17 17:15:21

标签: django couchdb

我需要在couchdb中存储身份验证和授权信息。我使用了与this类似的方法来实现身份验证。但是,我需要为用户实现什么授权。我需要特定用户才能调用某些操作。将使用user_passes_test装饰器是一个好主意吗?

我也希望将会话存储移动到一个单独的couchdb实例。这是个好主意吗?任何人都可以给我指示如何解决这个问题。

我是Python和Django的新手。

1 个答案:

答案 0 :(得分:0)

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

关于您的权限问题,它取决于您需要哪些类型的权限检查的确切详细信息。如果您的权限模型与Django的现有权限系统非常吻合,则可以通过在自定义身份验证后端中实现可选的权限位,根据couchdb中的数据做出授权决策。同样,Django docs详细说明了如何做到这一点。

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