2012-03-13 85 views
9

我在尋找一個基於角色的框架/模塊/包在谷歌App Engine上運行用Python寫的(2.7)的應用程序。基於角色的授權機制的應用GAE

基於角色的我的意思是允許我檢查(在大多數情況下請求處理期間)某個用戶是否能夠執行特定操作的機制。

一對夫婦用例:

  • 用戶A應該能夠查看和修改自己的空間,而用戶B應該只能夠看到用戶的檔案。
  • 具有「管理員」角色的用戶應該能夠看到所有註冊用戶,而用戶A和用戶B應該只能看到具有公共個人資料的用戶(例如user.public屬性設置爲True的用戶)

我想象像

user_a.is_able_to('read', user_b) # -> True of False 

user_a.authorize('update', user_b) # raises an exception if 'not allowed to' 

到目前爲止,我只看到從tipfy acl.py。看起來很簡單,非常接近我正在尋找的東西。我不知道是否有一些類似於acl.py,最好使用NDB來實現。

+0

[這裏] [1]是一個良好的實施建議。 [1]:http://stackoverflow.com/questions/1448308/role-based-security-with-google-app-engine-and-python – husayt 2012-03-20 23:32:01

+0

是的,我對如何一對夫婦的想法,自己實施。我想知道是否有人/某些東西已經實施。這似乎並不雖然(從tipfy的一部分),所以我可能會自己動手做。 – alex 2012-03-21 09:40:00

回答

2

web2py中包含我相信在GAE上的作品基於角色的訪問控制。這是記錄在這裏:

http://web2py.com/books/default/chapter/29/9

您可以到餐桌的驗證模塊和MOD它爲您的目的。我知道人們用web2py的其他部分(如DAL)完成了這個任務。

1

Turbogears和Web2py框架具有基於角色的訪問控制,您可以將其中一個集成到GAE Python版本中。