2012-11-15 213 views
2

我有兴趣使用Python和Django实现一个Web应用程序,我正在研究能力以确保在我的分配时间范围内可行。但是,我很难在我需要的一项核心功能上找到任何文档/示例/等等。具体做法是:Django用户授权

如果我有用户如的层次结构: 经理 雇员

随着规则:

  • 雇员报告到一个管理器
  • 甲管理器可以是一个顶高级经理或向其他经理报告

And:

  • 员工可以查看/更新他/她自己创建的任何记录。
  • 经理可能会查看/更新他/她或任何向其创建的人报告 的任何记录。

所以,举例来说:

鲍勃是一个顶级的经理。 Sally和Eric向鲍勃汇报。亨利向莎莉汇报。贝蒂向亨利汇报。

如果贝蒂创建了一个记录,贝蒂,亨利,莎莉和鲍勃(但不是埃里克)应该可以访问它。 但是,如果Sally创建了一条记录,则只能由Sally和Bob访问。

首先,这可能没有创建一个完全自定义的授权模块,只使用Django或现有的Django扩展?其次,如果可能的话,有人可以请我指出正确的方向吗?

回答

1

我不认为你需要任何特殊的模块来做到这一点。使用Django的好处与其对象映射实体更相关,这使得更容易管理数据库实体及其关系。因此,对于您的情况,您可以开始定义数据模型。

也就是说,有一些常见的模块,如django rules,它们实现了您需要的一些功能,并且可以加速您的开发。