3.6 KiB
权限视角预览
授权账号登录后,直接访问 /who 搜索同一组织的有效用户,先核对角色与数据范围,再进入只读预览。常规页面不展示入口,未授权用户直接访问链接也无法使用。预览使用目标账号真实角色:BI-Leader/所有权限/数智中心为全量,BI-Leader-Dep为本部门,其余为本人负责;多角色时全量优先。资产库存(包括待交车、异动)对三类角色均展示全量,汇总、分组与车辆明细口径一致;所属公司筛选仍然生效。非库存资产及交还车历史维持部门/个人范围,公共库存权限不扩展历史业务访问。
授权与身份来源
- 默认授权已核实的旧SSO账号:
puhongxia(1014807041625047040)、zhanglan(1105261382487539712)、shishengliang(1116631120763437056)。 - 后续通过服务端
BI_PERMISSION_PREVIEW_USER_IDS配置逗号分隔的用户ID名单;该配置替换默认名单。空字符串关闭全部授权。不要用姓名、前端配置或请求参数授予权限。 - 身份与角色读取现有SSO库
lingniu_prod,可由BI_IDENTITY_SCHEMA指定;仅读取启用且未删除的用户、未删除角色和部门。不读取密码、电话等字段。 - 新车辆系统
ry-cloud的账号ID不是现有BI登录ID,不能直接填入授权名单,也不能按同名人拼接身份。个人车辆范围通过唯一、大小写精确相同的登录名匹配两套有效账号,正常登录与预览共用同一过滤;缺失或歧义不扩权。新用户租户由BI_VEHICLE_IDENTITY_TENANT_ID指定(默认已核实的000000),部门仍采用原BI登录目录的部门。 - 本地免登录默认无预览权限。用户明确要求后,可在本地
.env同时开启DEV_BYPASS_AUTH=1、DEV_PERMISSION_PREVIEW=1;仅非生产模式生效。可由DEV_PERMISSION_PREVIEW_USER_ID指定已授权的组织范围锚点(默认puhongxia ID),操作与审计身份仍为dev-local。局域网访问此开发服务也能使用该入口。真实用户授权验收仍需业务系统正常SSO登录。
会话与隔离
-
人员查询仅在输入关键词后返回模糊匹配结果;空白关键词不展示也不返回人员列表,范围筛选不能单独枚举人员。
-
原登录Bearer始终代表操作者。预览使用独立随机令牌
X-BI-Preview,有效期30分钟,绑定操作者和目标用户;原JWT不被替换。 -
服务端每次请求复核操作者授权、用户有效性、同组织关系、目标角色与部门。原身份与目标权限不做并集。
-
切换会取消旧请求并重建页面,AI会话还按操作者及预览会话ID隔离;退出恢复原账号。写入接口及缓存刷新、调试接口禁止在预览中调用。
-
AI问数只查询,不自动记录需求。日报预览只读获取现有归档或内存生成,不建表、不保存归档。
-
预览会话目前保存在服务进程内存,重启后失效,多实例部署需会话粘滞或先迁移到共享会话存储。
审计
默认追加到 logs/permission-preview.jsonl;可用 BI_PERMISSION_PREVIEW_AUDIT_FILE 配置持久化日志路径。记录开始、读取、阻止写入、退出,以及操作者ID、目标ID、时间、路径和范围,不记录令牌或业务数据。审计写入失败时拒绝预览请求。生产部署应挂载持久卷并由日志平台采集/轮转。
验收
验证未授权者拒绝、三类范围、目标失效、角色变动、跨组织拒绝、令牌伪造/过期/跨操作者复用、只读拦截和AI会话隔离。真实账号端到端登录仍需业务系统SSO会话;本地免登录不能替代此项。