人气不旺,煸火——菜单权限有关问题
发布时间:2011-06-29 20:33:21 文章来源:www.iduyao.cn 采编人员:星星草
人气不旺,煸火——菜单权限问题
正在写权限菜单,不太在行,现在想着实现了两种权限方式,一种是简单设置权限,即系统封闭三种权限,高a中b低c,每个人只能选择此权限,另一种是随意设置权限d,根据需要选择哪一个菜单可访问。
于是我设置四个状态,abcd,在权限设置时如果选abc则打开系统后对应其abc权限,设置d后必须对其菜单进行详细设置,不设置则无任何权限。
我给每一个菜单项的tag赋一个值如:1(11,12,13),2(21,22,23).....
我建立一个数据表menuqx,字段为用户和tag值。
通过遍历菜单,如果能从数据表中找到其该用户对应的tag值,则显示该菜单,否则不显示。
为维护方便,menuqx表中内置高中低三种权限的对应tag值,如果是这三种用户则直接调用此权限即可。
这种方法是不是很笨?望高手说说思路和大致的解决方法,更通用更佳!!
------解决方案--------------------
http://download.csdn.net//detail/newease/2864902
------解决方案--------------------
要看你的系统的应用范围了,以下是我开发中普遍使用的菜单权限控制方式,仅供参考。
如果是有大量用户,则建议还是将用户分成权限组为好,比如领导、生产计划、销售、人事、工资、财务等等...。
数据库方面要有三个表与其配合:用户信息表、菜单及权限表、权限分组表。
建立一个用户权限的数据库表,将菜单项和权限组的代码关联起来。比如:模块标识、菜单级别、菜单序列、权限组代码。模块标识用于当一个应用中有多个模块(生产、供应、计划、财务等等模块时)且每个模块都是相对有自己的主菜单;菜单级别则是标识它是属于哪一层;菜单序列则是表示某一层中的排列顺序;权限组代码,则放置各权限组的代码。比如ABCEF,则说明ABCEF组均有该菜单的操作权限。一般我将系统管理员设为A,并且每条记录中它总是存在的。
用户信息表中除其他必须的信息列外,要加上一列以表示其拥有某个权限;
当用户登录系统时,从用户表中读出其权限组代码,再遍历菜单,并控制菜单项显示与否。
建立菜单时建议使用M_01、M_0101、M_02、M-0201等数字来表示每级菜单项,这样一目了然,并具有规律性,便于通过程序将其读入数据库表。
------解决方案--------------------
参考windows的权限设置方式,比较理想
组
用户的概念比较不错
另外,权限的管理最好是把权限项目做成活动的,把所有的权限项目存放到数据库中,用户在点开项目的时候判断是否有权限,或者在系统打开的时候就过滤掉用户的权限,这样比较理想
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
pb里关于数据窗口继承的问题
我的pb里设了一个母数据窗口,规定了样式,颜色,怎么让其他数据窗口都继承这个母dw,不用重复设颜色,样式呢
...
-
如何制作PB中查找的窗口,可以变透明的,而且还始终在最上面的窗口?
如何制作PB中查找的窗口,可以变透明的,而且还始终在最上面的窗口?
-...
-
powerbuilder 控件句柄转换,求教!!
问题:
比如我通过handle取得了一个button的句柄。
那么我能否根据这个句柄的值,又反操作还原这...
-
TAB控件能不能设置成不是3D的?
就类似于多行编辑控件的Border设置为false,变成平面的效果。找不到在哪里设置
------解决方案-----...
-
???新增按钮的问题
设置一个window窗口有个“新增”按钮,如何做出点击新增按钮,编号(varchar2类型)自动+1,点一下变成2,然后录完信息,再打开...
-
如何用回车键enter获得焦点
一个数据录入窗口,如何输完一个数据,按回车键跳到下一个要输入数据的地方 就和tab一样
------解决方案...
-
ole控件 Microsoft Web Browser
我用Microsoft Web Browser这个控件写了一个浏览器 但是不能运行脚本 对于那些需要在本地运行...
-
PB如何做透明的文本
我现在工作空间,应用程序,窗口都创建好了。也加了文本“用户名”,从网上看了要创建可视用户对象,粘贴了代码。但...
-
mdi窗口的sheet从normal变为max时闪烁
我的mdi的sheet默认打开后最大化,在sheet的resize事件中构造着把所有控件按比例伸缩,但每次...
-
如何使getfileopenname函数打开的窗口居中?
如何使getfileopenname函数打开的窗口居中?谢谢
------解决方案--------------------
...