Simon.hu 发表于 2017-7-14 10:54:51

看完必恍然大悟的活字格内幕:九, 用户拥有多个角色,使用条件命令结果不对

本帖最后由 Simon.hu 于 2017-8-8 12:10 编辑

制作一个web系统,所有人都会关心权限的问题。现在有这样一个用例,这个系统中有一个导出按钮,但是我们希望只有领导角色的人才能看到,普通员工进入系统后并不能看到。在使用活字格完成这样的,业务逻辑的时候,我们的第一反应,应该就是这样的设计的,首先,第一步,将这个导出按钮,先隐藏了,

第二步,在页面加载时命令里,我们做一个判断,如果当前用户的组是领导,我们就让这个按钮变成可见的,然后给他做一些颜色上的修饰。

一起看似都很完美,当我们的使用的时候呢?
首先,用一个任何角色都没有的普通用户登录进来,这个按钮确实没有出现,表现正确。

然后,我们让用户1的角色是领导,如下图所示:

我们在看看效果:

按钮出现了,表现正确。
最后,我们试着放到一个稍微复杂点的案例里面,一个用户拥有多个角色的时候呢,我们多加几个角色,然后再来测试一下。

设置完成,观察一下网页效果:

悲剧发生了,我明明也是领导啊,按钮怎么就不见了呢?很多人遇见这个情况,但是不知道怎么解决。
问题描述:
用户有多个角色的时候,应该如何判断?如上面描述的的第三种状况。
问题解答:
其实这个问题的原因是,因为我们这个页面加载时命令里面的设置,我们判断的是当前用户的角色等于领导,但是当用户的角色多了,这个判断是什么样的呢?
比如:用户的角色(领导,财务,普通员工) 等于 领导?这个明显是伪命题,那么如何设置成真命题呢?
将页面加载时命令,修改成这样的。

%CuurentUser.Role%就是列出当前用户的所有角色,这个后面我会详细的介绍,而“在里面”是什么意思呢?
“在里面”的用法:http://gcdn.gcpowertools.com.cn/ ... =%D4%DA%C0%EF%C3%E6
好的我们这样设置以后,按钮出来!!!

再一次涨姿势了!:itwn:

新小林 发表于 2018-4-24 09:21:43

那为什么不能“用户角色”包含 领导呢?

lwt 发表于 2018-4-24 21:49:49

新小林 发表于 2018-4-24 09:21
那为什么不能“用户角色”包含 领导呢?

用包含应该是和上面的一样的效果,我就是用的包含。

新小林 发表于 2018-4-25 08:30:30

lwt 发表于 2018-4-24 21:49
用包含应该是和上面的一样的效果,我就是用的包含。

不科学!为什么我不行呢,你是用多角色吗

新小林 发表于 2018-4-25 08:30:35

lwt 发表于 2018-4-24 21:49
用包含应该是和上面的一样的效果,我就是用的包含。

不科学!为什么我不行呢,你是用多角色吗

Simon.hu 发表于 2018-6-25 15:12:00

新小林 发表于 2018-4-25 08:30
不科学!为什么我不行呢,你是用多角色吗

问题的话,请在求助中心提问!

新小林 发表于 2018-6-25 15:41:02

Simon.hu 发表于 2018-6-25 15:12
问题的话,请在求助中心提问!

好的胡老大 哈哈;P

Simon.hu 发表于 2018-6-25 15:48:34

新小林 发表于 2018-6-25 15:41
好的胡老大 哈哈

谢谢,我最近把论坛的搞了一下,所以以后守规矩啊 ;P
页: [1]
查看完整版本: 看完必恍然大悟的活字格内幕:九, 用户拥有多个角色,使用条件命令结果不对