我正在开发一个学习管理系统。
该系统有几个演员,如学生,导师,管理员,院长等。现在,我需要一个许可系统,可以处理不同的角色(学生可以添加课程到他们的篮子,导师可以CRUD课程,管理员也可以访问财务部分,等等)。
根据我的研究,我需要一些可以处理不同角色的行级权限系统。我见过一些应用程序,比如django-guardian、djang-permissions、django-rulez等,但仍然不知道如何根据它们设计角色(它们没有很好的文档记录)。
谁能给我一个提示,让我完成这项痛苦的工作?
发布于 2012-07-04 22:39:45
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然后,只有具有此权限的用户才能访问该功能。
YOu可以更进一步,创建您可以分配权限的组,例如教师组,然后您可以将您的所有员工分配到此组,他们将继承此“course_editor”权限。
但正如我所说的,这个问题对于一个具体的答案来说有点宽泛,所以你最好的选择是在上面的url上摸索医生。
https://stackoverflow.com/questions/11330670
复制相似问题