安全
由于 React 客户端使用了通用 REST API endpoints,所以后台(CUBA)应用程序需要正确的配置安全角色和访问组。参阅 REST API 文档的 相应章节。
许可和访问控制
参阅 CUBA 平台手册 了解 CUBA 中许可机制如何运行。 |
访问控制组件(CUBA React Core)
当用户权限不足时,您可能需要隐藏某些 UI 元素(或者显式为禁用状态)。比如,当用户没有实体的增删改操作权限时,您需要隐藏 Create,Edit 和 Remove 按钮;或者,如果用户没有某些业务权限,您可能需要隐藏调用该业务逻辑的按钮。通过 CUBA React Core 中的访问控制组件即可实现该需求:
-
EntityPermAccessControl 当判断是否有单个实体操作权限时
-
AttrPermAccessControl 当判断实体属性权限时
-
SpecificPermAccessControl 当判断特殊权限时
-
AccessControl 当判断条件很复杂时
安全服务 (CUBA React Core)
通过 CUBA React Core 库内的 Security service 您可以手动检查用户的运行时安全许可。它自带的方法可以检查许可权限并返回是否授权(返回值为 boolean):
-
isOperationPermissionGranted
- 检查实体操作权限 -
isAttributePermissionGranted
- 检查实体属性权限 -
isSpecificPermissionGranted
- 检查特殊权限
CUBA REST JS 工具类方法
或者,也可以使用 CUBA REST JS 库中的 相应方法:
-
getAttributePermission
检查实体属性权限,并返回DENY
,VIEW
或MODIFY
。 -
isOperationAllowed
检查实体操作权限,并返回true
或false
。 -
isSpecificPermissionGranted
检查特殊权限,并返回true
或false
。
与安全服务方法不同,这些方法需要以参数传递一个包含当前用户权限的对象。可以通过 getEffectivePermissions 方法获取该对象。