网站的数据与连接
分开设计持久化、身份、授权与外部服务连接。
选择存储与登录
| 需求 | 设计重点 |
|---|---|
| 内容页 | 仅在体验需要时保存状态 |
| 结构化记录或进度 | 选择适用数据库、备份与迁移 |
| 上传文件 | 对象或文件存储、大小限制与访问控制 |
| 附件与元数据检索 | 分别保存文件内容与结构化元数据 |
| 识别内部用户 | 使用现有身份服务与服务端授权 |
| 公开登录 | 明确身份提供方、会话和退出流程 |
临时 UI 偏好与共享业务记录不同。Lime 可以协助实现,但不会自动为项目提供数据库或托管身份。
实现登录和授权
使用项目已经采用的身份协议与正式接入文档。浏览器传来的姓名、邮箱和请求头不能自行当成可信身份,服务端必须验证。
登录只证明身份;每条记录与每个动作仍需权限判断。测试退出、会话过期、不同用户与越权请求。
服务与脚本访问
非交互调用使用该应用自己的 API 凭据或服务账号,设置最小范围、过期和轮换。持有入口令牌不必然获得用户身份或所有业务权限。
密钥留在服务端机密存储,不进入 URL、前端代码和版本控制。泄露后按服务合同轮换并核对旧凭据何时失效。Lime 没有通用站点旁路令牌。
接入外部应用
构建与预览
先用获准的连接读取样例数据,确定需要的动作和字段。构建时您的工具权限不等于部署后访客权限。
加载数据
明确缓存、刷新、分页与失败恢复。支持游标时保留下一页操作,区分无数据和连接失败。
访客自己的连接
如果每位访客使用自己的账号,应用必须分别进行认证、授权与租户隔离。分享页面或开发者连接不能自动授权其他用户。
允许不连接的用户使用不依赖该服务的功能;需要权限的区域给出清楚状态。不要把个人工具会话嵌入公开应用。