浅析功能、权限、菜单相结合的设计方案

开发 项目管理
管理软件设计中,权限管理虽说是比较基本的内容,但也十分重要,说简单也简单,说复杂也复杂,最复杂就像网络操作系统一样,区分很多层次,什么分组啦角色啦,不过,一般会根据实际需要采用比较实用且简捷的设置方案.本文介绍一个在实际软件中用过和一种方法,主要是把功能、权限、菜单结合到一起来的设计方案。
一、设计方案中用设计表来保存功能或权限

可以根据需要,设置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 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 1.

这样,菜单也有了,权限也有了。

四、执行菜单功能

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 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
    • 1.

    【编辑推荐】

    1. 五类Web2.0网站在金融危机获得发展
    2. 面向WEB2.0的IT服务管理平台
    3. 详解基于JSP网络技术教学平台的设计
    4. 面向模式的分析和设计
    5. 设计模式在EJB中的应用
    责任编辑:彭凡 来源: cnblogs
    相关推荐

    2025-03-03 00:45:00

    2022-07-05 09:38:47

    模型RBACABAC

    2019-10-12 09:18:33

    系统设计架构

    2021-03-31 22:33:21

    区块链人工智能货币

    2024-10-17 08:26:53

    ELKmongodb方案

    2010-09-08 16:17:37

    SIP协议栈

    2012-07-11 10:49:34

    鲍尔默Surface

    2009-10-12 16:50:00

    2009-10-19 13:50:57

    布线设计方案

    2012-08-17 11:01:52

    设计方案

    2019-08-23 08:09:18

    订单号生成数据库ID

    2010-02-25 15:30:47

    SDRAMWindows CE

    2021-06-09 18:52:05

    方案设计库存数

    2009-10-19 14:39:10

    2019-03-13 16:09:47

    VMware虚拟化服务器

    2024-06-19 09:42:22

    2012-08-21 09:42:24

    设计架构设计原则

    2022-10-08 00:35:48

    gRPCGuice服务器

    2012-12-17 09:58:56

    视频网络解决方案

    2009-11-19 15:43:02

    路由器设计
    点赞
    收藏

    51CTO技术栈公众号