默认行为似乎是新用户没有权限而没有组.但是,我不想手动授予每个新用户基本权限,我认为他们不想等我这样做.
我应该如何为新用户分配默认权限?
已经提出了一些类似的问题,但对一般情况没有明确的答案:
我正在使用python-social-auth所以我没有自己的创建用户表单和视图,我想其他人都设置了默认权限.我假设我需要某种类型的on-user-create挂钩,但不确定最干净的方法是什么.
这与创建可能授予用户的默认可能权限无关,但作为参考,
我正在为Django创建权限夹具.我能够按照需要的方式加载它们.但是,我的问题是..我想为表加载一个夹具auth_group_permissions,我需要指定一个group_id和一个permission_id,不幸的是夹具不是处理这个的最好方法.是否有更简单的方法以编程方式执行此操作?这样我就可以获得id特定值并将它们填入?这通常是怎么做的?
我想在我的 Django 应用程序中拥有层次级别权限。
例如:- 考虑有 4 个级别 -
Admin
Sub-admin(CountryLevel(CL) Admin)
sub-sub-admin(StateLevel(SL) Admin)
And then normal Users(U).
Run Code Online (Sandbox Code Playgroud)
管理员将创建 CL,作为回报,CL 将创建 SL,而 SL 最终将吸引用户。最终目标是吸引用户。
管理员有权对任何用户应用 CRUD 操作。CL 应该有权访问由 CL 创建的 SL 加入(创建)的用户(对象)。作为回报,SL 应该只能访问由他加入(创建)的那些用户(对象)。此外,用户可以直接注册,无需任何管理员参与。在这种情况下,用户应有权访问他自己的应用程序。
我怎样才能获得像树级别的权限?
我能想到的解决方案是(但不确定):-
我已经更新了auth_group表格并添加parent_id到其中。以下是架构。
id, group_name, parent_id
Run Code Online (Sandbox Code Playgroud)
的意义parent_id在于创建一个树状的组结构。创建的组数等于树的高度。例如,考虑以下结构:-
id, group_name, parent_id
1 , admin, 0
2, CL, 1
3, SL, 2
Run Code Online (Sandbox Code Playgroud)
现在,当创建任何用户(加入)时,我将分配一个SL group_id,它将添加到auth_user_groups表中。
现在,我想问以下问题
1)如何管理组的层次权限,即SL应该只能访问他所加入的用户,CL应该能够访问他创建的SL所加入的所有用户等等。
2)(不确定我的想法是否正确)现在,由于我已将组 SL 分配给 SL 加入的所有用户,作为同一组的一部分,用户是否能够访问彼此的信息?
3) 对于直接加入的用户(即不通过任何 SL),我不会将他们映射到任何组。正确的?