编辑类账号能不能改动首页展示位,角色权限该按什么收口
作者或编辑这类账号能不能改动首页展示位,判断依据不是「他是不是编辑」,而是「这个动作影响的范围有多大」。写一篇文章是自己的事,置顶一篇文章改变的是全站首页的排序——后者已经越出投稿边界、动到了展示层。一款主流程序在 2026 年 10 月的安全版本里,就把「作者角色可以执行置顶文章」列为一条被修复的弱点,理由正在于此:一个本该只管投稿的角色,握有了影响全站展示的能力。
为什么一个置顶权限会被列进安全修复
看似只是「排序」的权限,实际决定了首页给访客看什么。投稿类角色账号数量多、来源杂,凭证被盗或误操作的概率远高于少数管理账号。把改变全站展示的动作下放到这一层,等于把整站门面的可被改动面扩大到最多的账号上。所以问题不在于置顶本身危险,而在于它被放到了不该放的角色手里。
角色能力的三种收口粒度
权限可以按三种粒度收口,粒度越细越可维护:
| 收口粒度 | 依据 | 优点 | 隐患 |
|---|---|---|---|
| 按人 | 给具体账号开权限 | 见效快 | 换人即失效,难审计 |
| 按角色 | 作者/编辑/管理员各一套 | 结构清晰 | 角色越权面易被忽略 |
| 按能力 | 单篇编辑、全站展示、全站级操作分开 | 最小权限落到实处 | 前期拆分成本高 |
按能力收口的核心是:把「改单篇」和「改全站展示」和「全站级运维」当成三档不同的能力,分别授权,而不是打包进一个「编辑」角色里。
谁能改首页,谁能改单篇
一个可落地的划分是:投稿类角色只能在自己的文档里创建、修改、提交审核;改变首页展示位、调整置顶、编辑导航这类全站可见的动作,交给更少的编辑或管理员角色。文档本身还分正式、草稿、待发布、回收站四种状态,状态流转的权限也应分级——把内容移入回收站这种可逆操作可以给较高角色,但不等于给了他们改展示层的权利。
站内的用户组与分组权限
安企CMS 用用户组和 VIP 分组给不同用户组设置各自的访问权限,能力按组而非按人挂上去,这正是「按能力收口」的落点:新建一个只能投稿的组,不赋予它任何改变全站展示的能力;需要动首页的少数人放进单独的高权限组。多站点场景下,权限还应区分是单站内的高权限还是跨全站的高权限,避免一个站内的小权限被当成全站权限复用。
高危接口默认关闭带来的好处
比角色更硬的一道收口在接口层:站内把备份、升级、多站点这类全站级操作归为高危域,默认不对外开放,需要显式开启才可用。这一层解决的是「角色被绕过」的情况——即便某个账号误判或被拿到凭证,全站级动作仍有一道默认关闭的闸门,不会因为「他是编辑」就被顺带放行。可见与可调用是两件事,默认关闭把可调用面收到最小。
账号盘点四步
一列全站级能力清单(改首页、改导航、置顶、备份、升级、跨站操作);二给每项标出「哪些组应该持有」;三对照当前用户组与 VIP 分组的实际权限找差额;四把多出来的一律收回、需要临时开的走高危域显式开启、用完关回默认。
常见问题
问:编辑难道不能管首页吗? 答:可以,但那是「改全站展示」这一档能力,要单独授予;不能因为他是编辑就默认拥有。
问:按角色授权还不够吗? 答:角色容易把不相干的能力打包在一起,按能力分档再落到用户组,才不容易出现投稿角色握着全站动作的情况。
问:高危域默认关闭会影响正常使用吗? 答:影响的只是全站级运维那几步,需要时显式开启即可,日常投稿与审核不受影响。