当前位置: 代码迷 >> PB >> 斑竹及能否提供一下权限控制的例子
  详细解决方案

斑竹及能否提供一下权限控制的例子

热度:20   发布时间:2016-04-29 06:45:22.0
斑竹及各位高手们能否提供一下权限控制的例子!
可以控制菜单及按钮的权限系统,如果能做成一个模块可以直接集成到系统里面。如果有拿出来大家一起学习一下!

------解决方案--------------------
我的思路:
1,建主菜单时,就是 MDI 框架窗口的主窗口的菜单,各项菜单的命名可以使用要打开的窗口的名称,比如,
我的货品档案编辑窗口名称是 w_basei_goods ,那打开它的主菜单项的命名就是 w_basei_goods
2,建w_basei_goods 功能的菜单时,各项以相关功能的事件或方法名称命名,比如:
新建货品的功能我写在 w_basei_goods 窗口的事件 ue_menu_New,则,把新建功能的菜单项命名为 ue_menu_new
......

3,权限的采集:
建数据库表1,有如下字段:功能模块名称(window.title),对应的窗口名称(window.classname())
建数据库表2,有如下字段:相关的权限名称(menu.text),对应的事件名称或控件名称(menu.classname())
建数据库表3,有如下字段:功能模块对应的窗口名称(对应表1.窗口名称),权限名称(对应表2.事件或控件名称)

建好以上三个表以后,可以写通用的功能模块,先把所有的细则权限名称写入表2,因为有很多权限名称是相同的,比如货口档案有新建功能,同样的,供货商档案也有新建功能等。。。当然采集的方法有很多,可以写代码自动完成,而不用手动一项一项增加。
同样的道理,做功能模块的权限采集,比如打开 w_basei_goods 后,把该模块对应在表2 的明细权限选择后把它存入表3 和功能模块信息存入表1
至此,各功能模块的权限清单就罗列出来了。

4,把权限关联到登录的操作员。。。。
这个就是授权程序完成的功能了。。。

5,操作员登录以后,根据自己的权限列表,程序可以控制相关菜单的操作和显示权限。。。


------------------------------
不知道我说清楚没有。。。
  相关解决方案