首页 / 开发文档 / 权限相关标签

权限相关标签

在模板里按当前用户权限决定显示什么,以及为什么菜单隐藏不等于权限控制。

取权限状态

{naicha:if var="perms.content.delete" eq="1"}
  <button class="danger">删除</button>
{/naicha:if}

权限点以 perms.权限名 的形式提供,有权限为 1。

常用权限点

权限点含义
content.view查看内容
content.create新建内容
content.edit编辑内容
content.delete删除内容
content.review审核内容
content.import / content.export导入 / 导出
model.manage管理内容模型
category.manage管理栏目
message.view / message.delete查看 / 删除留言
user.manage / role.manage管理用户 / 角色
setting.manage站点设置
log.view查看操作日志
license.manage / update.apply授权 / 在线更新
最重要的一条:模板里隐藏菜单和按钮只是 界面处理,不是权限控制。 真正的拦截发生在服务端 —— 每个后台动作都会再校验一次权限,直接输 URL 也绕不过去。 反过来,如果只做了界面隐藏而没做服务端校验,那就等于没做。

三层权限如何叠加

  1. 角色权限:一套预设,决定这个角色大概能干什么
  2. 用户级覆盖:在角色基础上,对某个用户额外授予或收回个别权限
  3. 栏目可见范围:限定这个用户只能看到指定栏目(含其子栏目)下的内容

最终权限 = 角色权限 ∪ 额外授予 − 被收回,再与栏目范围取交集。三层都在用户管理页配置。

「只看自己的」这类限制型权限

绝大多数权限是「放开」,但 content.owonly 是收紧:勾上之后,该用户在内容列表里只能看到自己发布的,也不能编辑或删除别人的内容。

没找到答案? 可以在 联系我们 留言说明使用场景,我们会补充进文档。