Adminimize 替代方案:清理后台,但要做对
多年来,Adminimize 为许多代理机构提供了良好的服务:按角色隐藏菜单项和元框,就这么简单。不过,如今寻找替代方案的人,应当带上一个当年较少被问到的问题——仅仅隐藏是否足够。
隐藏不等于锁定
被隐藏的菜单项会从菜单中消失。但只要知道地址,其背后的页面依然可以访问——数据就更是如此,比如通过 REST API。
要让界面整洁,隐藏完全够用:客户不该看到十二个菜单项,而其中他只需要两个。但要起到保护作用,隐藏就不够了。这一区别是该领域一切选择的核心。
测试只需一分钟:保护一篇文章,退出登录,用文章中的一个词访问 /wp-json/wp/v2/posts?search=。如果响应中出现了该内容,那就只是隐藏,而不是锁定。替代方案应当具备哪些能力
| 能力 | 用途 | Kakapo Roles 的情况 |
|---|---|---|
| 按角色精简后台菜单 | 整洁 | 内置 |
| 真正设置权限 | 保护 | 权限矩阵 |
| 在 REST API 中生效 | 靠得住的保护 | 明确强制执行 |
| 媒体库仅显示自己的文件 | 多个客户共用一个安装 | 内置 |
| 小工具和导航菜单 | 减少干扰 | 内置 |
| 登录后跳转 | 客户直接进入自己工作的地方 | 内置 |
| 变更记录 | 半年之后,有据可查才算数 | 内置 |
| 导出和导入 | 不必在每个网站上重新搭建 | 内置 |
第二个问题:它还在维护吗?
深度介入后台的工具老化得很快。它们依赖于菜单结构和内部名称,而 WordPress 多年来会不断更改这些东西。一个很久没有更新的插件,迟早会去隐藏已经不存在的菜单项——却漏掉新出现的。
因此,对于每个替代方案,都要检查其最近一次更新的日期和标注的 WordPress 版本。对于这类工具,这一点比对大多数其他工具都更重要。
切换时你应该做什么
- 记下目前每个角色隐藏了哪些内容——每个角色截一张图就够了。
- 做一次备份;角色和权限都存放在数据库中。
- 在新工具中重建可见性设置。
- 为每个角色使用一个测试用户登录,并进行对比。
- 对所有真正需要保护的内容进行 REST 测试。
- 停用旧插件而不是删除它——保留两周。
三种经过验证的配置
与其为每个网站重新考虑,不如用三个角色——它们能应付的情况多得出人意料。它们涵盖了客户在实际中要做的事,几分钟就能设置好。
| 配置 | 可以做 | 菜单中可见 |
|---|---|---|
| 编辑部 | 撰写并发布自己的文章,上传媒体 | 文章、媒体、个人资料 |
| 页面维护 | 编辑现有页面,不能新建,也不能删除 | 页面、媒体、个人资料 |
| 店面 | 查看和处理订单,维护商品 | 商店、商品、个人资料 |
这三者都不包含的是:插件、主题、用户、工具、设置。这不是不信任,而是分工——这些项目属于运维,而运维有自己独立的账号。
最常发生的错误
客户反映自己无法再编辑某些内容。最快的办法是给他管理员权限,“等问题弄清楚再说”。两周后没人再记得这件事,半年后网站上有了三个管理员,其中两个已经没人说得清是谁。
稍慢一点的办法才是唯一靠得住的:查看究竟缺了哪项权限,然后只补上这一项。变更记录在这方面的帮助比乍听起来要大——它日后能回答谁在何时开放了什么,而不需要任何人去回忆。
每年查看一次用户列表,并筛选出管理员。如果其中有人的职责你无法用一句话说清楚,那就是该清理的时候了。