我可以在管理控制台周围更改工作,并直接在数据库中更改权限,而不会破坏Joomla'a资产表吗?
我们将Joomla 2.5用于一个必须创建数千个类别的独特应用程序。唯一的问题是我们无法使用管理控制台更改特定类别的权限,因为它超时。我们只想将“编辑”的权限从“继承”更改为“允许”。
我们要更改其权限的类别不是任何其他类别的父项。
这不是常见的任务。
答案 0 :(得分:1)
最好的方法是暂时增加php.ini文件中的执行时间。但是,如果您想继续进行更改,除非您犯了一个大错,否则它不会破坏数据库。 如果继承了“创建删除编辑”等权限,则“规则”字段中的值将如下所示
{"core.create":[],"core.delete":[],"core.edit":[],"core.edit.state":[],"core.edit.own":[]}
将您的编辑从“继承”更改为“允许”后,它就会变成
{"core.create":[],"core.delete":[],"core.edit":{"1":1},"core.edit.state":[],"core.edit.own":[]}
因此core.edit具有一个数组,数组中包含键1和值1。您可以对其他人进行类似的更改,但要小心直接更改数据库。请记住,密钥一是获得公众许可。同样,如果您需要为经理更改,它将变为
{"core.create":[],"core.delete":[],"core.edit":{"1":1,"6":1},"core.edit.state":[],"core.edit.own":[]}
您可以看到密钥6添加了值1,这意味着Manager有权编辑。密钥1和6分别是public和Manager的组ID。如果转到“用户”->“组”,则可以获得组ID。将为每个单独的组显示右侧ID。因此,假设您要为具有ID为5的发布者提供编辑功能,那么“规则”列将像这样
{"core.create":[],"core.delete":[],"core.edit":{"1":1,"6":1,"5":1},"core.edit.state":[],"core.edit.own":[]}