2010-05-12 96 views
11

由於Django 1.2 final已經差不多了,我很好奇是否已經有使用新對象級權限/行級權限系統的項目。 Django-authority,這是一個Django可能的解決方案,最高1.1版本,尚未更新一段時間,並且尚未使用新的權限系統。在我看來,Django-Authority處於昏迷狀態。Django 1.2對象級權限 - 第三方解決方案?

有人知道即將到來的甚至完成的解決方案嗎?我非常感謝任何與活躍項目的良好鏈接,並且至少有一些可下載的內容。

+0

發現一個更好的解決方案:https://github.com/lukaszb/django-guardian - 似乎也可以與Django 1.3一起使用! – mawimawi 2011-05-16 07:27:16

回答

7

最後,我發現真正的好東西:弗洛裏安Apolloner寫了一個djangoadvent HOWTO:http://djangoadvent.com/1.2/object-permissions/ 現在我該怎麼使用:)

一些有用的東西可能還有:http://github.com/washingtontimes/django-objectpermissions(鏈接死了一樣2011-07-18)

+0

我讀了弗洛裏安的帖子,雖然它是信息性的,它似乎並不支持組權限。例如,如果一個組被賦予一個對象的權限(甚至在Florian的例子中也支持它),那麼該組中的用戶是否有權訪問該對象? – millerdev 2010-11-04 21:07:36

+0

我的項目我不需要組權限。無論如何,你必須自己實現它。但也許已經有一個其他的Django應用程序 - 我沒有檢查幾個月。 – mawimawi 2010-11-09 10:49:14

1

前段時間我嘗試使用django-granular-permissions作爲網站,但無法讓它做我所需要的(這可能是我自己無法理解我需要做什麼而不是應用程序)。看看谷歌代碼網站的更新標籤,它似乎從去年夏/秋季開始就沒有做任何工作,所以它可能是另一個死鴨。

+0

此外,該項目似乎已移動:http://github.com/ryates/django-granular-permissions-redux – hop 2010-08-16 16:10:45

5

我發佈了一個名爲django-rules的Django應用程序,它允許您以靈活,動態和可伸縮的方式管理每個對象的權限。你可能想看看它。

9

我使用https://github.com/lukaszb/django-guardian當它仍然在版本0.2中的項目,它是相當完整和無缺陷。

是的,我確實必須編寫自己的'check_permission'視圖裝飾器,因爲它當時還沒有包含它 - 但至少從1.0版本開始。

作者對我從0.2遷移出來的問題也做出了很快的迴應 - 總的來說,我對它感到滿意,因此使它成爲我的項目骨架模板的一部分。

1

OSU開源實驗室擁有的對象級別權限的實施here

1

首先,信息的主要來源是djangopackages.com's perms grid:「實現了用戶和組Django項目權限的所有軟件包的電網」。 (注意有些軟件包的命名非常相似,例如's'或短劃線是唯一的區別)

然後,查看每個軟件包功能(僅考慮維護中的某些子集),這些是主要候選:

  • Django的監護人:「這是自Django的1.2支持每個對象的權限授權後端實現方式」。 pypirepodocs

  • django-permissions:「Django的通用每對象權限」。 「Django權限爲角色提供Django的每個對象權限」。 pypioriginal repomost updated forkdocs

  • Django的權威:「提供通用的每個對象的權限Django的權威性應用程序。」「Django應用程序的每個對象的權限,其中包括了一堆幫手來創建自定義權限檢查的」 pypioriginal repo,most updated forkdocs

另外有一些人由於某種原因或其他沒有獲得晉級:

PS:這個答案寫根據目前開放源碼包的狀態,超過2年後這個問題被問到。雖然不是很徹底,但我希望這項工作能夠幫助那些處於同一情況的人。