在 Sonata Admin 的列表视图(角色/权限)中编辑

Posted

技术标签:

【中文标题】在 Sonata Admin 的列表视图(角色/权限)中编辑【英文标题】:Edit in list view (role/permissions) in Sonata Admin 【发布时间】:2017-05-07 20:16:51 【问题描述】:

我正在寻找可以在我的 Sonata 后端执行以下操作的解决方案:

在我的数据库中,我有以下表格:

角色 身份证 姓名 角色 is_super_admin 重量 权限 姓名 权限 说明 role_permission(多对多) role_id permission_id

所以我想将关系保存在我的表 role_permission 中。但我有点坚持如何在奏鸣曲管理员中做到这一点。我可以在列表视图中执行此操作吗?如果是的话,你能帮我上路吗?

【问题讨论】:

【参考方案1】:

不确定 OP 是要实现自定义角色还是使用现有功能。但是,我建议使用单一角色系统。 Sonata 已经有安全处理程序,所以我认为最好使用这些处理程序而不是创建自己的处理程序。

在奏鸣曲网站上,有a section in the admin bundle about security。其中解释了如何设置某些类型的角色管理。我会根据您的需要选择 Role 或 ACL 处理程序。

启用角色处理程序时,您可以创建角色组。这些组将作为您的“角色 1”。例如,我可以创建一个名为“Beta Testers”的组,并为他们提供角色(权限)ROLE_CHECK_BETA_CONTENTROLE_BETA_FEEDBACK_FORM。现在,如果您希望普通用户没有这些权限,您可以创建一个普通用户组并分配其他所有角色(权限)。

【讨论】:

以上是关于在 Sonata Admin 的列表视图(角色/权限)中编辑的主要内容,如果未能解决你的问题,请参考以下文章

Sonata Admin Bundle:在列表视图中显示收藏总数

Sonata Admin + 在列表视图中显示所有项目(不是每页)

Sonata Admin - 只允许显示登录用户创建的内容

按相关实体字段排序 Sonata Admin 中的列表视图

Sonata Admin+ACL-不同角色的不同仪表板

Sonata admin:默认选择马赛克