轻笺

权限体系说明

系统行为 · 更新于 2026-06-29

权限体系说明

用户角色概览

轻笺采用三级权限体系:游客 → 注册用户 → 管理员(root),权限逐级递增。

各角色权限详情

👤 游客(未登录)

游客是未登录状态,可访问公开内容但无法创建或修改任何数据。

权限项 状态
浏览书签首页
浏览工作台
浏览帮助中心
创建/编辑/删除书签
创建/编辑/删除笔记
上传/删除文件
使用 AI 助手
创建/管理标签
访问后台管理
意见反馈

👤 注册用户

注册用户可管理自己的所有资源,数据与其他人隔离。

权限项 状态
书签:新增、编辑、删除、批量操作、导入导出
笔记:新建、编辑、删除、导出、AI 笔记助手
文件(云空间):上传、下载、分享、删除、批量操作
标签:创建、编辑、删除、标签图谱
搜索:全局搜索、资源中心
回收站:查看、恢复、清空
个人中心:主题、语言、密码修改、默认首页
意见反馈:提交、查看回复
AI 助手:查询数据、翻译
知识库:搜索公开文档
后台管理/安全中心

🔑 管理员(Root)

管理员拥有注册用户所有权限,外加系统管理权限。

额外权限 说明
后台管理面板 用户管理、操作日志、API 日志、图片管理、Agent 日志
安全中心 安全概览、事件管理、IP 信誉、账号信誉、规则配置、白名单
知识库管理 新增/编辑/删除/批量操作知识库文章
通用配置管理 更新日志编辑、系统配置
简易 SQL 控制台 执行只读 SQL 查询(排查用)
查看其他用户数据 通过指定用户名可查询其他用户的书签/笔记/文件(Agent 专用)
删除任意用户 用户管理中的删除操作

权限检查机制

后端权限控制

轻笺采用 inline 权限检查 而非全局中间件:

  • 每个 handler 内部通过 req.user?.role 判断权限
  • Root 操作使用 ensureRootRole(req, res) 工具函数,未通过时自动返回 403
  • 非 root 的简单检查直接判断 req.user?.idreq.user?.role === 'visitor'
  • API 日志和操作日志不影响不阻断请求

数据隔离

  • 所有业务查询(书签、笔记、文件、标签)都带 WHERE user_id = ? 条件
  • 用户只能操作自己的数据
  • 管理员通过 Agent 查其他用户数据时,需指定用户名并经过 resolveUser 函数验证

登录认证

  • 基于 Session ID(httpOnly cookie)+ 数据库会话表
  • 登录有效期:普通登录 24 小时,勾选"记住我"7 天
  • 移动端支持 X-Session-Id 请求头作为 cookie 后备
  • 会话定期清理过期数据

账号封禁

  • 被封禁的账号无法执行任何业务操作(登录、退出除外)
  • 封禁由安全中心的账号信誉系统自动触发或管理员手动操作
  • 被封禁时 API 返回 HTTP 423 状态码

← 返回帮助中心