Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Django权限问题 #1

Open
lihuibo128 opened this issue Aug 6, 2018 · 1 comment
Open

Django权限问题 #1

lihuibo128 opened this issue Aug 6, 2018 · 1 comment

Comments

@lihuibo128
Copy link

对于django的权限有一个问题,想请教一下

  1. 在models中设置meta,其中view_user属于自定义的,那这个view_user是属于什么权限?
    class Meta:
    permissions = (
    ("view_user", "cat view user"),
    )

=====================
2. autoAdmin项目中的users/views.py 的UsersViewset 中,有设置
extra_perms_map = {
"GET": ["users.show_user_list"]
}
这里的users.show_user_list 我不理解show_user_list是在哪里有定义的?
在权限表里面我看到有add_user, change_user,delete_user, 以及上面定义的view_user,
这里面我所理解的extra_perms_map 是"GET": ["users.add_user"] 应该是change_user等这个几个,
不知道对不对,还希望指教一下,上网查过一些资料,让我有点疑惑

=====================
3. 关于extra_perms_map 是访问时额外增加的权限,我在idcs/views.py的 IdcViewset 类中
增加了extra_perms_map = {
"POST": ["users.add_user"]
}
按我理解的意思,那访问所以 /idcs/ 下的接口应该需要有users的添加权限才可以访问,
但实际我没有给创建的一个test用户,也可以访问

对于django和rest_framework初学不久,看您的博客和项目收获还是挺大的,
还是一些不懂的地方,还希望大牛给指点一下

@rfjer
Copy link
Owner

rfjer commented Aug 6, 2018

drf默认的权限只有 add、change与delete, 其它的权限都需要自定义,使用模型的Meta类去自定义权限,就像你上面写的,
想让drf支持自定义的权限验证就得使用extra_perms_map 去做,这个是我们自定义的,接口实现了,目前的这个版本是开发版,所以暂时没有应用上,后续自定义的权限验证与文档都会跟进的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants