权限控制
Trantor的权限控制也是基于角色访问控制技术RBAC(Role Based Access Control),是通过用户、角色、权限三方面来进行权限的分配与控制。其中权限一般是具体的对象或资源的集合,可以分为功能权限和数据权限两部分。具体来说,就是为用户分配角色,角色能访问及操作不同范围的资源。通过建立角色系统,将用户和资源进行分离,来保证权限分配的实施。系统权限控制一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。
功能权限
功能权限用来约束用户能否访问和操作某个模块子系统、或者某个页面、或者页面上的功能按钮。在Trantor中模块子系统不作为具体的授权对象,是根据用户授予的角色是否分配了该模块子系统下的功能权限或者数据权限来决定的。因此功能权限点分成两部分:页面功能权限点和按钮功能权限点。
- 页面功能权限点:设置需要鉴权的页面,对应的资源是视图。如果一个按钮打开一个新的页面,对应的可以创建一个页面功能权限点。菜单功能权限点属于页面功能权限点。
- 按钮功能权限点:设置页面中需要鉴权的功能按钮,一般执行某个后台业务逻辑,对应的资源是逻辑流和可编排服务。
数据权限
数据权限用来约束用户是否能访问和操作某个模型的记录或者字段信息。数据权限可以分为行数据权限和列数据权限:
-
行数据权限用来约束用户可以访问的记录;
-
列数据权限用来约束用户可以访问记录的哪些字段,或者是否允许修改。