管理面板 RBAC 系统已更新
页面摘要: Strapi 5 移除了
content-manager_rbacManagerredux store 区块,改为使用常规的权限系统以及更新后的useRBAChook。
在 Strapi 5 中,作为管理面板 redux store 一部分的 content-manager_rbacManager 已被移除,改为使用常规的权限系统。此外,useRBAC hook 也进行了更新。
本页面是破坏性变更数据库的一部分,提供有关该破坏性变更的信息,以及从 Strapi v4 迁移到 Strapi 5 的附加说明。
破坏性变更说明
在 Strapi v4 中
权限通过 redux store 的 content-manager_rbacManager 区块处理,如下面的通用示例所示:
const cmPermissions useSelector(state => state['content-manager_rbacManager'])
const { allowedActions } = useRBAC({
main: [{ action: 'admin::something.main', subject: null }]
})
const canMain = allowedActions.canMain
在 Strapi 5 中
content-manager_rbacManager 已被移除,改为使用常规的权限系统,这意味着 useRBAC hook 的使用方式有所不同,如下面的通用示例所示:
const { allowedActions } = useRBAC([
{ action: 'admin::something.main', subject: null }
])
const canMain = allowedActions.canMain
迁移
本节汇总了关于该破坏性变更的有用说明和操作步骤。
说明
手动迁移
在 Strapi v4 中通过 hook 接入 redux store 来调整 RBAC 权限的插件开发者,需要根据上述变更更新他们的代码。