找回密码
 立即注册

QQ登录

只需一步,快速开始

Simon.hu 讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2017-7-14 10:54  /   查看:6458  /  回复:7
本帖最后由 Simon.hu 于 2017-8-8 12:10 编辑

制作一个web系统,所有人都会关心权限的问题。现在有这样一个用例,这个系统中有一个导出按钮,但是我们希望只有领导角色的人才能看到,普通员工进入系统后并不能看到。在使用活字格完成这样的,业务逻辑的时候,我们的第一反应,应该就是这样的设计的,首先,第一步,将这个导出按钮,先隐藏了,
image.png208797606.png
第二步,在页面加载时命令里,我们做一个判断,如果当前用户的组是领导,我们就让这个按钮变成可见的,然后给他做一些颜色上的修饰。
image.png339133910.png
一起看似都很完美,当我们的使用的时候呢?
首先,用一个任何角色都没有的普通用户登录进来,这个按钮确实没有出现,表现正确。
image.png237680663.png
然后,我们让用户1的角色是领导,如下图所示:
image.png376990050.png
我们在看看效果:
image.png990664367.png
按钮出现了,表现正确。
最后,我们试着放到一个稍微复杂点的案例里面,一个用户拥有多个角色的时候呢,我们多加几个角色,然后再来测试一下。
image.png947490844.png
设置完成,观察一下网页效果:
image.png148825987.png
悲剧发生了,我明明也是领导啊,按钮怎么就不见了呢?很多人遇见这个情况,但是不知道怎么解决。
问题描述:
用户有多个角色的时候,应该如何判断?如上面描述的的第三种状况。
问题解答:
其实这个问题的原因是,因为我们这个页面加载时命令里面的设置,我们判断的是当前用户的角色等于领导,但是当用户的角色多了,这个判断是什么样的呢?
比如:用户的角色(领导,财务,普通员工) 等于 领导?这个明显是伪命题,那么如何设置成真命题呢?
将页面加载时命令,修改成这样的。
image.png79337462.png
%CuurentUser.Role%就是列出当前用户的所有角色,这个后面我会详细的介绍,而“在里面”是什么意思呢?
“在里面”的用法:http://gcdn.gcpowertools.com.cn/ ... =%D4%DA%C0%EF%C3%E6
好的我们这样设置以后,按钮出来!!!
image.png565636291.png
再一次涨姿势了!

7 个回复

倒序浏览
新小林
中级会员   /  发表于:2018-4-24 09:21:43
沙发
那为什么不能“用户角色”包含 领导呢?

image.png732348327.png
回复 使用道具 举报
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
5#
lwt 发表于 2018-4-24 21:49
用包含应该是和上面的一样的效果,我就是用的包含。

不科学!为什么我不行呢,你是用多角色吗
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-6-25 15:12:00
6#
新小林 发表于 2018-4-25 08:30
不科学!为什么我不行呢,你是用多角色吗

问题的话,请在求助中心提问!
回复 使用道具 举报
新小林
中级会员   /  发表于:2018-6-25 15:41:02
7#
Simon.hu 发表于 2018-6-25 15:12
问题的话,请在求助中心提问!

好的胡老大 哈哈
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-6-25 15:48:34
8#

谢谢,我最近把论坛的搞了一下,所以以后守规矩啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部