跳转到内容

权限体系

iBizHUB采用分层细化的权限模型设计,将权限控制划分为应用访问权限、应用菜单权限、页面权限和按钮权限四个紧密关联的层级,形成完整的权限管控闭环。

访问权限

应用访问权限是权限体系的基石,通过身份校验实现系统级准入控制,未授权用户无法进入系统。在应用初始化阶段,应用会发起应用数据请求。当服务端返回401(Unauthorized)HTTP状态码时,前端路由将重定向至认证页面;若请求成功(2xx状态码),则导航至主应用界面。

访问权限

匿名访问

iBizHUB支持匿名访问,在环境文件中配置匿名登录相关参数,用户即可无需登录直接访问应用:

js
window.Environment = {
  // 是否启用匿名登录
  enableAnonymous: false,
  // 匿名账号
  anonymousUser: '',
  // 匿名密码
  anonymousPwd: '',
  // 其他环境变量...
}

菜单权限

在菜单初始化阶段,应用通过权限校验模块比对菜单项的权限标识与当前用户资源数据(应用数据的unires字段)。仅渲染权限匹配的菜单项,实现前端权限控制。未授权的菜单项将在VNode生成阶段被排除,确保界面与权限实时同步。

页面权限

视图均支持配置用户访问模式。在视图渲染之前,系统会根据当前用户的权限与绑定的访问模式进行校验。如果用户无权限访问该视图,界面显示403页面,确保界面展示的安全性和合规性。

用户访问模式支持以下几种模式:

名称描述
未指定全部用户都可访问
未登录用户匿名用户可访问
登录用户登录用户可访问
未登录及登录用户全部用户都可访问
登录用户且拥有指定资源能力登录用户,且对指定的系统统一资源具备访问能力

按钮权限

按钮权限通过按钮绑定的权限标识和按钮环境权限数据(统一资源数据、业务数据权限数据等)是否匹配,精确控制界面交互元素的可见性和操作性。

权限控制

按钮权限主要通过以下方式控制:

  1. 通过操作标识计算权限:界面行为上可以配置实体数据操作标识,根据该标识获取统一资源标识,然后通过统一资源标识判断是否有权限

  2. 根据实体数据判断权限:在实体中配置实体数据访问控制方式,根据其与数据中的srfdataaccaction进行权限判断

    实体数据权限控制有以下几种控制方式:

    名称描述
    无控制不计算实体数据权限
    自控制根据实体数据中的权限标识计算
    附属主实体控制先从自身权限标识数据查找,若未找到,再从父权限标识数据查找
    附属主实体控制(未映射自控)先从自身权限标识数据查找,若未找到,再从父权限标识数据查找
  3. 根据实体主状态控制: 在实体中可配置实体主状态,根据操作标识与实体主状态进行权限判断

鉴权流程

在按钮绘制前,按钮会根据绑定的界面行为的数据目标类型做权限校验:

访问权限

无权限显示模式

界面行为上可配置无权限时的显示模式:

名称描述
禁用无权限时禁用
隐藏无权限是隐藏
隐藏且默认隐藏未配置操作标识或无权限时隐藏
未来已来,立即拥抱应用融合的力量
Released under the MIT License.