标签: usergroups

Django组和权限应该硬编码还是自举?

我正在构建一个应用程序,假定其工作流程存在某些组和权限.例如,"成员"可以登录应用程序并查看和编辑他们的个人数据,但无法看到通常会在同一屏幕上显示的注释."员工"可以查看这些笔记并创建或编辑自己的笔记,但只有"会员管理员"才能删除或编辑任何人的笔记.

我的问题是引导这个应用程序的数据.我可以为组创建JSON fixture数据,但是我必须对PK进行硬编码,这看起来像是不好的做法(如果我想使用的第三方应用程序做同样的事情并且存在冲突会怎样?)更大问题是权限 - 我必须将PK添加到权限,而权限反过来又会有PK到他们的内容类型.

我已经读过使用post_syncdb钩子以更加编程的方式添加初始数据,我希望这将有助于我解决硬编码的PK问题.但我想知道这是否是这个问题的最佳解决方案,或者我是否"滥用"Django组和权限概念,在这里,应该做其他事情,比如创建新模型或只是放置标志(如" is_member_manager")在我的用户个人资料模型等.

django permissions bootstrapping usergroups

7
推荐指数
1
解决办法
408
查看次数

使用python在linux中创建一个用户组

我想在CentOS系统上使用python创建一个用户组.当我说'使用python'时,我的意思是我不想做像os.system这样的事情,并给出unix命令来创建一个新的组.我想知道是否有任何python模块处理这个问题.

在网上搜索没有透露我想要的东西,除了python用户组..所以我不得不问这个.

我通过搜索SO了解了grp模块,但是找不到有关创建组的任何信息.

编辑:我不知道我是否必须为此开始一个新问题,但我也想知道如何将(现有的)用户添加到新创建的组中.

任何帮助赞赏.谢谢.

python linux usergroups

6
推荐指数
2
解决办法
5245
查看次数

是否有一个C#库,其行为类似于Active Directory的权限和组?

我喜欢权限和组在Active Directory中工作的方式,但我不想将我的应用程序与AD绑定.

是否存在包含与AD相同功能的现有库?特别是,能够创建组,将用户分配到组,添加组的权限,以及查看用户或组的应用权限?

c# permissions authorization usergroups active-directory

6
推荐指数
1
解决办法
721
查看次数

在Django admin中编辑Group-object时将用户对象分配给组

在用户对象(编辑用户)的默认Django管理视图中,可以编辑用户的组成员资格.如果我还想反过来怎么办?即,在组编辑页面中,可以选择属于正在编辑的组的用户.

正如我所看到的,Django没有从Group到User对象的ManyToMany映射,因此无法(?)为此特定情况实现ModelAdmin类.如果我可以创建一个额外的UsersOfGroup模型类并在Django的Group模型的ManyToMany字段中将其用作直通属性,那么可能有一种方法.

任何想法,这是否可以使用ModelAdmin技巧实现,或者我只需要为编辑组创建自定义视图?

我已经检查了这两个问题,但他们并没有做同样的事情:

在admin中添加用户时分配组

在admin中显示组成员身份

更新: 克里斯的答案几乎就在那里.:)该组具有对用户集的引用,但它被称为user_set,而不是用户.所以这些是我所做的改变:

if self.instance and self.instance.pk:
    self.fields['users'].initial = self.instance.user_set.all()
Run Code Online (Sandbox Code Playgroud)

if group.pk:
    group.user_set = self.cleaned_data['users']
Run Code Online (Sandbox Code Playgroud)

membership django usergroups django-admin

6
推荐指数
1
解决办法
2329
查看次数

使用C在Linux中获取用户组的正确方法

我想知道unix命令组是否还有其他C库,

$ groups ---- lists all the group id's of the user.

有一个名为getgroups()的方法,但此方法将返回用户组。有没有一种方法可以使用C为特定用户获取组。

c linux usergroups

6
推荐指数
1
解决办法
6623
查看次数

django自定义用户模型组和权限

我正在尝试在django应用程序中实现自定义用户模型。

如果我仅复制并粘贴本文中的代码,则效果很好。但我希望这个自定义用户模型具有权限和组。因此,我将此继承添加到models.py中

class MyUser(AbstractBaseUser, PermissionsMixin):
Run Code Online (Sandbox Code Playgroud)

并将这些字段放入admin.py MyUserAdmin(UserAdmin)类:

('Permissions', {'fields': (
    'is_admin', 'is_staff', 'is_active', 'groups', 'user_permissions',
)}),
Run Code Online (Sandbox Code Playgroud)

但这对我来说很奇怪:

管理员截图

据我所知,它必须是两个容器:左边(我有)显示所有可用的组和权限,右边(我没有)显示所有当前用户的组和权限。

PS我尝试谷歌为它,发现只有一个帖子在reddit上是10个月大,但没有解决方案。

django permissions usergroups custom-authentication

6
推荐指数
1
解决办法
1365
查看次数

如何在不注销/登录的情况下将用户添加到组 - Bash 脚本

我搜索过,在其他任何地方都找不到这个答案。对于没有脚本经验的人来说,如果这是一个菜鸟问题,我深表歉意。

我正在尝试创建一个 bash 脚本来设置一个服务器,其中包含应用程序所需的所有软件。简而言之,在安装 docker 时,我需要将当前用户添加到 docker 组“usermod -aG docker”,然后从那里拉一些容器。

我遇到的问题是,因为我已将该用户添加到一个组中,所以他们需要先注销并重新登录,然后才能获得在脚本中稍后执行任何操作的任何权限。这当然会破坏脚本并结束 shell 会话。有没有办法在同一个脚本中注销并重新登录,或者事情需要变得更复杂一些?

感谢任何人对此的帮助。希望这对某人来说是一个简单的答案。

bash shell usergroups logout docker

6
推荐指数
2
解决办法
7302
查看次数

Keycloak 授权 - 角色与组的最佳实践

我有一个使用 Keycloak 保护的 Web 应用程序。为了使服务描述简短,我们将用户和文档作为服务中的实体。用户可能无权访问任何文档或访问多个文档,并且可以编辑或阅读该文档。

目前我们有管理员、最终用户、开发人员等角色。然后,我们在 Keycloak 外部保留一个数据库表,该表将文档映射到用户以及哪个用户对哪个文档具有什么访问级别。我们所有的最终用户在 Keycloak 中都具有 EndUser 角色。每次最终用户尝试读取/编辑文档时,我们都必须在数据库表中进行查找以获取授权。

我们想将该表迁移到 Keycloak。据我了解,我基本上有两种选择:

  • 创建很多角色,每个文档两个角色,名称如doc_read_[DOCUMENT-ID]doc_edit_[DOCUMENT-ID]等等。然后将正确的角色分配给正确的用户。这里的缺点是角色的数量将会增加很多。此外,附加到用户的角色数量将非常大。

  • 为每个文档创建一个组,名称为文档 ID。有不同的读/写子组,然后将用户添加到正确的组中。缺点是组的数量会非常多。另外,我将依赖组名称的授权,因此组名称列表必须映射到令牌。

我不想为每个用户添加带有文档 ID 的用户属性。通过这种方法,我无法获得文档的概述并查看哪些用户可以访问给定文档。

这里的最佳实践是什么?还有其他解决方案可以解决这个问题吗?这一定是一个非常常见的设置。

security authorization roles usergroups keycloak

6
推荐指数
1
解决办法
6294
查看次数

如何使用图形API获取Facebook群组列表

在Graph Api Explorer中,我没有找到任何许可,例如user_groups。我选择了所有的“用户数据权限”和“扩展权限”,但是没有用。

在图api资源管理器中,我正在使用此命令GET->/v2.4/me/groups。我得到空的JSON数据,像这样。

{
  "data":[
  ]
}
Run Code Online (Sandbox Code Playgroud)

并且,如果我使用的是旧版的api版本2.2,GET->/v2.2/me/groups那么我只能获得我所管理的组,而不是所有组。

如果有人有此经验,也有解决方案,请帮助我解决问题。

facebook usergroups facebook-graph-api facebook-javascript-sdk facebook-group

5
推荐指数
1
解决办法
1万
查看次数

Postgres:如何授予用户向组添加更多用户的权限

所以我知道在 postgres 中,组只不过是一个角色。但我仍然会在这里使用组。

假设我创建了一个名为 my_group 的组作为超级用户。

我是用户user_1。

我想授予 user_1 权限以将更多用户添加到 my_group 中。

作为超级用户,我需要执行什么命令才能执行此操作?

postgresql privileges usergroups role

5
推荐指数
1
解决办法
1445
查看次数