登录与账户安全
NextList 使用 JWT 登录态,配合两步验证与 SSH 公钥提供多层账户安全。本文介绍普通用户与管理员分别可用的账户能力。
登录方式
站点默认开启账号密码登录,使用「用户名 + 密码」即可。登录成功后前端会持有签名 JWT 并自动附加到后续请求中;JWT 的签名密钥来自服务端配置(JWT_SECRET),详见环境变量与绑定。
管理员可以在后台为每个用户单独启用或禁用账号:被禁用的用户即使凭证正确也无法登录。若管理员开启了「游客」账号(guest),未登录访客将自动以游客身份浏览其 base_path 范围内的文件;默认情况下游客账号是禁用的,站点会跳转登录页。
此外,登录接口在服务端支持哈希密码校验(/api/auth/login/hash),第三方客户端可以复用同一套登录协议。
修改密码
进入管理面板 → 个人资料(或「设置」中的当前用户页)即可修改自己的密码。管理员也能在「用户管理」中为任意用户重置密码。密码修改后当前会话保持有效,其他设备的旧登录态不受影响;如需强制全部下线,由管理员在「设置 → 重置 API Token / 重置密钥」操作。
两步验证(2FA / TOTP)
NextList 内置基于 RFC 6238 的 TOTP 两步验证,兼容 Google Authenticator、Microsoft Authenticator、1Password 等标准验证器应用。开启流程:
- 进入个人资料 → 两步验证,点击「生成」;
- 用验证器 App 扫描二维码(或手动输入密钥);
- 输入验证器显示的 6 位验证码完成绑定;
- 之后每次登录,服务端会返回 402 状态并要求附带
otp_code,输入验证器当前验证码即可完成登录。
[!TIP] 管理员可以在「用户管理」中对任意用户执行「取消 2FA」,用于用户丢失验证器时的恢复。该操作会直接解除该用户的二步验证绑定。
SSH 公钥管理
个人资料页提供 SSH 公钥的管理能力:添加公钥时后端会做格式校验,并计算 SHA256 指纹用于展示与识别;你可以随时查看指纹列表或删除不再使用的密钥。公钥管理与用户体系一一对应,管理员同样可以在「用户管理」中查看每个用户的公钥。
用户角色与权限
NextList 的权限模型围绕三个维度展开,理解它们有助于给家人朋友分配账号:
- 角色(role):
2为管理员(隐式拥有全部能力),1为普通用户; - 权限位(permission):如 WebDAV 读取 / 管理、管理后台访问等细粒度开关;
- base_path:目录监禁——用户只能看到并操作该前缀之内的路径,
/表示整站。
分配账号时,建议普通用户只勾选必要权限位并设置 base_path 限定范围,具体参数见「用户管理」页的表单说明。
评论