主题:带用户权限的菜单控制程式,谁可以提供代码讨论
x521516
[专家分:200] 发布于 2008-06-10 10:37:00
新人报到
想问一下谁有带用户权限控制的菜单程式?即可以根据不同用户权限显示或者使用不同的菜单。这里有两个功能是需要的(一是用户权限的设置,二是菜单的显示--是灰掉不可用,还是根本不显示出来)。不知可有高手提供代码供讨论,谢谢!
回复列表 (共3个回复)
沙发
homayzh [专家分:7040] 发布于 2008-06-10 14:34:00
如果 我遇到这个问题,是这样做的
编辑两个菜单,一个菜单功能全,是权限高的 sysmenu
另一个是权限低是,功能就少 menu
在主程序里,用户登录时,判断用户权限后 调用 相应的 菜单
在登录表单 的 unload 里
if 用户权限 = '高级管理员'
do sysmenu.mpr
else
do menu.mpr
endif
方法二:
在菜单的选项,跳过里,输入一个逻辑变量。来控制此项是否可用,不可用时呈灰色
板凳
x521516 [专家分:200] 发布于 2008-06-13 10:01:00
非常感谢 homayzh 的回复
能继续讨论下去吗?
也许是我表述的不足够详细
再补充一些资料。假如说我的全功能菜单共有100项,有30个用户使用系统,但这30个用户权限大小不完全相同,比如:有的使用销售,有的使用采购,有的使用会计……,就算是都使用销售功能,其中也有更详细的权限控制,如是否可以看单价,查看成本等
因此,我觉得最少需要有功能就是:用户权限分配,可以随时改变的;
第二,才说到菜单如何显示。使用你说的第二种方案是否会影响速度?我还没试过。因为要写一个UDF来判断某菜单是否显示,而这个UDF会读取用户权限表
如果使用大小菜单表的方式,则每个用户需要生成一个临时菜单表。
就我目前使用的系统来说,都是使用临时菜单表的方式。但我的同事也有使用过“灰菜单”的办法
想听听大家的见解
3 楼
redidea9563 [专家分:730] 发布于 2008-06-26 16:10:00
我的是这样的,将软件所有的功能需要控制的菜单放在一个表格中,字段名即为功能菜单名,然后记录是每一个用户的记录。结构如下:
用户名 备份 恢复 删除 添加 ……
admin T T T T ……
guest T F F T ……
然后再自编一个函数,在菜单里的跳过项调用刚写的函数来判断登录的账户是否能用。
我来回复