平台
角色与权限
角色决定您能做什么;数据范围决定您能看到谁的数据。令牌永远不能做超出其持有者权限的事。
角色
- 一个独立的 hr 标记授予对每份人事文档的读取权限,而无需管理员权限。
- 评分豁免将一个人从所有比较性和自动化视图中移除,而管理员仍可按需打开其评分;灵活标记则关闭警示和催促,而不影响评分。
| employee | 仅本人数据 |
|---|---|
| team_lead | 本人加直接下属 |
| manager | 整个管理树;报告、导出、值班写入、团队的更正 |
| moderator | 管理员级别的可见性,但只能编辑自己的行;绝不被催促,绝不被警示 |
| admin | 一切:机器人、房间、团队、提供商、设置、审计日志、API 文档 |
| superadmin | 管理员权限加全组织范围的破坏性维护、机器访问;绝不被跟踪 |
数据范围
考勤、审计、员工详情、报告、导出以及每个按名册限定的端点都会在返回数据前应用调用者的范围。范围之外的人返回与不存在的人相同的“未找到”响应,因此响应码无法用来绘制组织结构。
登录
- 通过聊天私信的一次性验证码:六位数字,五分钟有效,只能使用一次;三次失败锁定资料十五分钟;六十秒后可重新发送。每次尝试都记录 IP 和用户代理。
- 对常用设备的受信设备登录。
- 密码登录作为按团队的可选项存在,默认关闭;单点登录是企业版和自托管版的套餐功能。
- 会话是携带签名令牌的 HTTP-only、same-site、secure Cookie;路由在每次请求时重新检查数据库中的角色,轮换签名密钥会让所有人登出。
个人 API 令牌
- 由超级管理员为某人签发;明文只显示一次,只存储 SHA-256 哈希。
- 令牌以其持有者的身份行事,因此每项角色和范围检查都原样适用。
- 权限范围为只读或读写;只读令牌在路由运行之前就会被拒绝任何会改变内容的请求。未知范围回退为只读。
- 可选的过期时间;撤销在下一次请求时生效;记录最后使用时间,因此被遗弃的令牌一目了然。
人事文档保险库
类型包括医生证明、请假证明、合同、身份证件和其他;文件上限 20 MB,以不透明的名称存储,并原样返回。每次上传、查看和删除都记录审计。产品从不读取其内容。
| admin | 读取全部,为任何人上传,删除 |
|---|---|
| manager 和 hr | 读取全部,为任何人上传 |
| employee | 读取和上传自己的 |