6.3.1. 配置角色
-
创建一个
Default - 默认
角色,这个角色禁止所有系统权限。最简单的方法是创建一个 Denying - 拒绝 类型的角色。然后为其勾选 Default role 默认复选框,这样所有新用户都默认带有该角色。 -
为各类用户类别创建一系列允许特定权限的角色,有两种策略:
-
粗放化(Coarse-grained)角色 – 每个角色中都配置上某类用户责任范畴所需的所有权限,例如
Sales Manager
销售经理,Accountant
会计。这样的话,除了Default
默认角色,每个用户只分配一个角色。 -
精细化(Fine-grained)角色 – 每个角色都配置为可以操作某类功能。例如
Task Creator
任务创建,References Editor
引用编辑。这样的话,每个用户基于他的责任范畴会分配到多个角色。
两种策略也可以组合使用。为不同的用户类别创建一系列角色来分配权限。
-
-
系统管理员可能会不需要分配任何角色,他们拥有所有系统对象的所有权限。也可以为其分配一个 Super 类型的角色,覆盖所有其它角色指定的限制。
管理功能访问权限
需要给 Denying - 拒绝 角色提供访问管理功能的时候,需要放开一些权限,以下是快速参考。比如,只开放实体日志功能,在相应部分设置提到的权限。
推荐至少提供 sys$FileDescriptor
实体的只读权限,因为这个实体在平台很多地方都会用到:邮件、附件、日志等。
下面提到的权限可以通过相应标签页的 Role
编辑窗口进行配置:Entity - 实体, Screen - 界面 或者 Specific - 特殊功能。
另外,可以通过 cuba.defaultPermissionValuesConfig 应用程序属性配置系统实体的默认访问权限。
- Users - 用户
-
User 实体可以在数据模型中用来做关联引用实体。需要在查询组件或者下拉框组件使用用户实体,只需要设置
sec$User
实体的权限就足够。如果需要使用 Denying - 拒绝 角色创建或者编辑
User
实体,还需要设置以下权限:-
实体:
sec$User
,sec$Group
; (可选)sec$Role
,sec$UserRole
,sec$UserSubstitution
.
读取
sec$UserSubstitution
实体的权限对代替用户功能是至关重要的。-
界面: Users 菜单项,
sec$User.edit
,sec$Group.lookup
; (可选)sec$Group.edit
,sec$Role.edit
,sec$Role.lookup
,sec$User.changePassword
,sec$User.copySettings
,sec$User.newPasswords
,sec$User.resetPasswords
,sec$UserSubstitution.edit
.
-
- Access Groups - 访问组
-
创建或者管理用户访问组以及安全限制。
-
实体:
sec$Group
,sec$Constraint
,sec$SessionAttribute
,sec$LocalizedConstraintMessage
. -
界面: Access Groups 菜单项,
sec$Group.lookup
,sec$Group.edit
,sec$Constraint.edit
,sec$SessionAttribute.edit
,sec$LocalizedConstraintMessage.edit
.
-
- Dynamic Attributes - 动态属性
-
访问额外的实体非持久化属性。
-
实体:
sys$Category
,sys$CategoryAttribute
, 以及数据模型需要的其它实体。 -
界面: Dynamic Attributes 菜单项,
sys$Category.edit
,sys$CategoryAttribute.edit
,dynamicAttributesConditionEditor
,dynamicAttributesConditionFrame
.
-
- User Sessions - 用户会话
-
查看用户会话数据。
-
实体:
sec$User
,sec$UserSessionEntity
. -
界面: User Sessions 菜单项,
sessionMessageWindow
.
-
- Locks - 锁
-
设置实体的悲观锁。
-
实体:
sys$LockInfo
,sys$LockDescriptor
, 以及数据模型需要的其它实体。 -
界面: Locks 菜单项,
sys$LockDescriptor.edit
.
-
- External Files - 外部文件
-
访问应用的文件存储。
-
实体:
sys$FileDescriptor
. -
界面: External Files 菜单项; (可选)
sys$FileDescriptor.edit
.
-
- Scheduled Tasks - 定时任务
-
创建和管理定时任务。
-
实体:
sys$ScheduledTask
,sys$ScheduledExecution
. -
界面: Scheduled Tasks 菜单项,
sys$ScheduledExecution.browse
,sys$ScheduledTask.edit
.
-
- Entity Inspector - 实体探查
-
从实体探查动态生成的界面中操作应用对象实体。
-
实体: 数据模型需要的实体。
-
界面: Entity Inspector 菜单项,
entityInspector.edit
, 以及数据模型需要的其它实体。
-
- Entity Log - 实体日志
- User Session Log - 用户会话日志
-
查看用户登入登出或者用户会话的历史数据。
-
实体:
sec$SessionLogEntry
. -
界面: User Session Log 菜单项.
-
- Email History - 邮件历史
-
查看从应用发出的电子邮件。
-
实体:
sys$SendingMessage
,sys$SendingAttachment
,sys$FileDescriptor
(邮件附件需要). -
界面: Email History 菜单项,
sys$SendingMessage.attachments
.
-
- Server Log - 服务器日志
-
查看并下载应用的日志文件。
-
实体:
sys$FileDescriptor
. -
界面: Server Log 菜单项,
serverLogDownloadOptionsDialog
. -
特殊功能:
下载日志文件
-
- Screen Profiler - 界面资料
-
应用界面的使用量和使用时间的统计数据。
-
实体:
sec$User
,sys$ScreenProfilerEvent
. -
界面: Screen Profiler 菜单项.
-
- Reports - 报表
-
需要运行报表,参考 报表生成器 插件。
-
实体:
report$Report
,report$ReportInputParameter
,report$ReportGroup
. -
界面:
report$inputParameters
,commonLookup
,report$Report.run
,report$showChart
(如果包含图表模板)。
-