修改Webspace密钥后无Webspace访问权限问题求助
问题解决步骤
1. 清理数据库中残留的旧Webspace权限
你的se_permissions表中存在缺少Webspace密钥的无效权限条目,先通过SQL删除这些残留数据:
DELETE FROM se_permissions WHERE context LIKE 'sulu.webspaces.%' AND context NOT LIKE 'sulu.webspaces.%.';
(正确的权限context格式应为sulu.webspaces.{webspace-key}.xxx,上述语句会过滤掉缺失密钥的无效条目)
2. 重新生成Webspace权限
执行Webspace初始化命令,基于当前配置生成新的权限条目:
bin/adminconsole sulu:webspaces:init
3. 为管理员角色分配新Webspace权限
将新Webspace的所有权限分配给管理员角色(默认管理员角色ID通常为1,替换{your-new-webspace-key}为你修改后的平台密钥):
bin/adminconsole sulu:role:assign-permissions 1 --webspace={your-new-webspace-key}
4. 清理缓存确保生效
bin/console cache:clear bin/adminconsole cache:clear
是否是Sulu的Bug?
这不属于Sulu的Bug。修改平台密钥属于自定义配置变更,Sulu的默认初始化命令不会自动清理历史残留的权限数据,需要手动清理旧条目后重新生成权限。
内容的提问来源于stack exchange,提问作者stollr
相关产品推荐
相关产品推荐

