功能、权限、菜单相结合的设计方案
2009-07-05 15:29
316 查看
功能、权限、菜单相结合的设计方案
管理软件设计中,权限管理虽说是比较基本的内容,但也十分重要,说简单也简单,说复杂也复杂,最复杂就像网络操作系统一样,区分很多层次,什么分组啦角色啦,不过,一般会根据实际需要采用比较实用且简捷的设置方案.本文介绍一个在实际软件中用过和一种方法,主要是把功能、权限、菜单结合到一起来,要求当前操作人员有什么权限就出现什么菜单项。
一、设计表来保存功能或权限
可以根据需要,设置ID、功能名称、类别、模块及其他项目。
二、设计权限分配功能,将这些功能分配给具体操作人员
将分配到具体人员的权限保存到另一个表中。三、在主窗口中把权限装入成为菜单项
如果权限中包含非功能项目,要在加载过滤掉,同时将单存权限读入保存到变量,当然每次用到再读也可以。显示如图。部门代码如下:
Dim Gnsql As String = "SELECT * FROM 用户权限 WHERE 用户名称='当前用户'" Dim dtQX As DataTable = hyDB.DBselect(Gnsql) ' Dim dqMK As String = "" Dim gnNODE As TreeNode = Nothing Dim dqNODE As TreeNode = Nothing With dtQX Dim qxROWS() As DataRow = .Select() For i = 0 To qxROWS.GetUpperBound(0) If dqMK <> qxROWS(i).Item("模块名称").ToString Then dqNODE = TreeView1.Nodes.Add(qxROWS(i).Item("模块名称").ToString) Else gnNODE = dqNODE.Nodes.Add("", qxROWS(i).Item("功能名称").ToString) End If dqMK = qxROWS(i).Item("模块名称").ToString Next End With
这样,菜单也有了,权限也有了。
四、执行菜单功能
Public Sub ErmGn(ByVal Gn As String) Select Gn Case "销售订单" Dim ErmXSDD As Form = New FormXSDD ErmXSDD.Show() Exit Select Case "销售出库单" Dim ErmXSCK As Form = New FormXSCK ErmXSCK.Show() Case "销售报价单" Dim ErmXSBJ As Form = New FormXSBJ ErmXSBJ.Show() ...... End Select End Sub
仅供参考.
相关文章推荐
- TP支持菜单动态生成RBAC权限系统数据库结构设计方案
- 模块管理常规功能自定义系统的设计与实现(05--权限和菜单)
- 子用户-角色-权限-菜单 浅谈:子账户设计方案
- 5种实用App导航菜单设计方案
- 扩展RBAC用户角色权限设计方案
- 简洁常用权限系统的设计与实现(一):构造权限菜单树的N(N>=4)种方法
- 扩展RBAC用户角色权限设计方案
- Android基础教程(五)之-----Menu功能菜单设计
- 用户具有多重角色,角色拥有可重复权限,确定用户具有权限的数据库设计方案(关系型数据库)
- OA系统权限管理设计方案
- 扩展RBAC用户角色权限设计方案
- Android基础教程(五)之-----Menu功能菜单设计
- Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计
- OA系统权限管理设计方案
- Android基础教程(五)之-----Menu功能菜单设计
- ylbtech-权限管理-数据库设计-功能权限管理技术
- 权限x系统设计方案
- OA系统权限管理设计方案
- 三种权限设计方案的归纳和比较
- 常规功能和模块自定义系统 (cfcmms)—040模块记录(数据)的权限设计(5)聚合操作