权限体系
iBizHUB采用分层细化的权限模型设计,将权限控制划分为应用访问权限、应用菜单权限、页面权限和按钮权限四个紧密关联的层级,形成完整的权限管控闭环。
访问权限
应用访问权限是权限体系的基石,通过身份校验实现系统级准入控制,未授权用户无法进入系统。在应用初始化阶段,应用会发起应用数据请求。当服务端返回401(Unauthorized)HTTP状态码时,前端路由将重定向至认证页面;若请求成功(2xx状态码),则导航至主应用界面。

匿名访问
iBizHUB支持匿名访问,在环境文件中配置匿名登录相关参数,用户即可无需登录直接访问应用:
window.Environment = {
// 是否启用匿名登录
enableAnonymous: false,
// 匿名账号
anonymousUser: '',
// 匿名密码
anonymousPwd: '',
// 其他环境变量...
}菜单权限
在菜单初始化阶段,应用通过权限校验模块比对菜单项的权限标识与当前用户资源数据(应用数据的unires字段)。仅渲染权限匹配的菜单项,实现前端权限控制。未授权的菜单项将在VNode生成阶段被排除,确保界面与权限实时同步。
页面权限
视图均支持配置用户访问模式。在视图渲染之前,系统会根据当前用户的权限与绑定的访问模式进行校验。如果用户无权限访问该视图,界面显示403页面,确保界面展示的安全性和合规性。
用户访问模式支持以下几种模式:
| 名称 | 描述 |
|---|---|
| 未指定 | 全部用户都可访问 |
| 未登录用户 | 匿名用户可访问 |
| 登录用户 | 登录用户可访问 |
| 未登录及登录用户 | 全部用户都可访问 |
| 登录用户且拥有指定资源能力 | 登录用户,且对指定的系统统一资源具备访问能力 |
按钮权限
按钮权限通过按钮绑定的权限标识和按钮环境权限数据(统一资源数据、业务数据权限数据等)是否匹配,精确控制界面交互元素的可见性和操作性。
权限控制
按钮权限主要通过以下方式控制:
通过操作标识计算权限:界面行为上可以配置实体数据操作标识,根据该标识获取统一资源标识,然后通过统一资源标识判断是否有权限
根据实体数据判断权限:在实体中配置实体数据访问控制方式,根据其与数据中的
srfdataaccaction进行权限判断实体数据权限控制有以下几种控制方式:
名称 描述 无控制 不计算实体数据权限 自控制 根据实体数据中的权限标识计算 附属主实体控制 先从自身权限标识数据查找,若未找到,再从父权限标识数据查找 附属主实体控制(未映射自控) 先从自身权限标识数据查找,若未找到,再从父权限标识数据查找 根据实体主状态控制: 在实体中可配置实体主状态,根据操作标识与实体主状态进行权限判断
鉴权流程
在按钮绘制前,按钮会根据绑定的界面行为的数据目标类型做权限校验:

无权限显示模式
界面行为上可配置无权限时的显示模式:
| 名称 | 描述 |
|---|---|
| 禁用 | 无权限时禁用 |
| 隐藏 | 无权限是隐藏 |
| 隐藏且默认隐藏 | 未配置操作标识或无权限时隐藏 |