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
.
读取 |
- 界面: 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 - 实体日志
实体:
sec$EntityLog
,sec$User
,sec$EntityLogAttr
,sec$LoggedAttribute
,sec$LoggedEntity
, 以及数据模型需要的其它实体。界面: 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
(如果包含图表模板)。