|
上页 | 目录 | 下页 | |
| 系统架构 | 设计业务数据 | |||
用户分类,是使用规则对用户进行描述,所有满足该规则的用户,都属于该用户分类。和RBAC等其他模型不同的是:ralasafe并不需要事先静态地将用户划分到该用户分类。
举例:总部用户的分类规则是:用户的companyLevel字段值等于1。用户Alexis Stark的companyLevel值等于1,所以他属于该用户分类;用户John Smith的companyLevel值等于2,所以他不属于该用户分类。
用户分类的规则,由表达式和表达式组组成,可以对数据进行比较运行(in, >, <, >=, !=, is null, is not null, 等)。数据来源有:用户属性、上下文值、数据库查询或者某个指定固定值。

该GUI包含4个部分:
假设我们要定义用户分类"HQ Users",它的规则是:companyLevel等于1。我们需要先定义两个变量:
| 步骤 | 屏幕截图 |
|---|---|
| 1, 简单值,整型1。点击“增加”按钮,然后选择 "Simple Value" | ![]() |
| 2, 用户属性值,引擎自动从读取用户属性“companyLevel”。点击“增加”按钮,选择"User Property"。 | ![]() |
现在,我们有两种办法来定义表达式:
| 方法 | 屏幕截图 |
|---|---|
| 1, 设计。右击 "Expression Group(AND)",选择 "New Binary Expression"; | ![]() |
2, 或者手工输入规则。这对于特别复杂而难以设计的规则非常有效。这里,你可以使用刚才定义的变量,也可以调用自己的业务Java代码。 点击“Input Mode”进入手工输入模式。该按钮,在保存按钮右边。 |
![]() |
您还可以通过表达式组,来设计复杂表达式。表达式组的连接关系可以是AND或者OR。
当两个用户分类非常类似,我们可以通过复制,然后做少量修改。无需重新从头开始设计。
我们已经设计了"HQ Users",现在我们通过复制"HQ Users"来设计"Branch Users"用户分类。将HQCompanyLevle变量名改为BranchCompanyLevel,并将它的值由1改为2。非常简单快速。
当我们设计完成后,我们可以立即在线测试(simulate),也无需等待应用开发完成。测试页面如下图示

它由3个部分组成:
|
上页 | 目录 | 下页 | |
| 系统架构 | 设计业务数据 | |||