0

我正在开发一个学习管理系统。

该系统有几个演员,如学生、导师、管理员、院长等。现在,我需要一个可以处理不同角色的权限系统(学生可以将课程添加到他们的购物篮,导师可以 CRUD 课程,管理员也可以访问财务部分以及等等)

根据我的研究,我需要一些可以处理不同角色的行级权限系统。我见过一些类似的应用程序django-guardian djang-permissions django-rulez,等等。但仍然对如何基于它们设计角色感到困惑(它们没有很好的文档记录)。

任何人都可以给我一个提示来完成这项痛苦的工作吗?

4

1 回答 1

1

Django 内置了一个非常好的身份验证/授权 api

我建议您阅读以下文档:https ://docs.djangoproject.com/en/dev/topics/auth/这为您提供了基础知识。

对于您的应用程序,最好的方法是设置某些内容的权限,例如编辑课程的权限。然后,您可以为您的视图使用所需的权限装饰器,以允许您执行这些操作。例如,如果您有一个视图:

def edit_course(request):
    ...#handle form rendering/submission for course model

你可以在上面添加这个视图:

@permission_required('course_editor')
def edit_course(request):
    ...#handle form rendering/submission for course model

然后只有拥有此权限的用户才能访问该功能。

您可以通过创建可以分配权限的组来更进一步,例如教师组,然后您可以将所有员工分配到该组,他们将继承此“course_editor”权限。

但正如我所说,这个问题对于特定答案来说有点宽泛,所以你最好的选择是在上面的 url 中了解文档。

于 2012-07-04T14:39:45.267 回答