一个简单的管理系统,我想实现下面的功能:(普通用户和系统管理员)系统管理员除了拥有普通用户的所有权限外,还有进行系统设置和删除,添加用户的权限,关键是我想让系统管理员登陆后的那块,只需在普通用户的基础添加一些子模块,而不需要再重写和普通用户公有的操作界面。请问怎么做?请提供设计思路或者源代码参考!谢谢

解决方案 »

  1.   

    思路:
    假设有模块ABCDEFGHI,普通用户只能操作ACEFI,管理员可以操作全部
    可以在程序中用一个string变量表示权限,如普通用户的权限为:101011001,管理的权限为:111111111
    1表示可以操作,0表示不可以操作,然后将这种权限信息写入到数据库中去
      

  2.   

    xiongchen(二氧化鬼)  谢谢你专业的思路,:) 我刚才想了 可否这样?如果是普通用户登录,可否将winform上的某些菜单项(比如系统设置一项)设为不可见状态?
      

  3.   

    一般的软件都是像楼主这么做的啊!
    在程序中是这样做的,举个例子:
    string a="101011001";           //这是普通用户
    char b=a.
    for (int i=0;i<b.length,i++)
     if(b[i]=0)
        menuItem[i].Visual=false;    //这里将菜单的顺序与那个权限字串对应起来
      

  4.   

    char[] b=a.ToCharArray();  上面有一条没写完
      

  5.   

    nga96()  说的有点..... 麻烦
      

  6.   

    这个其实使用panel或者tab,显示与不显示
      

  7.   

    我认为要写个Account 类,不同的角色进行派生
      

  8.   

    heiding(黑麒麟)   谢谢你详细的指导,现在遇到这样一个问题,就是我还想实现有数据库的备份和恢复功能,试想:恢复数据库后,那新的数据库中 用户表中的密码 不是被覆盖了?修改密码的功能 不是没用了?
      

  9.   

    linfengit(林峰IT)   你说的很有道理,就是如何将不同用户登录的消息传递给 不同的菜单进行判断呢?
      

  10.   

    顶啊!
    我曾用IF语句来写过,条件真时Panel1.Visible=true,panel2.Visble=false,条件假时相反,但是不起作用不知道怎么样了
      

  11.   

    winform 跟web是一样的,去看看动网论坛的数据结构会有帮助,网上到处都有源代码下载
      

  12.   

    panda2fw2()    通过权限的不同来显示不同的界面和菜单就可以了。  
    我也知道这样啊,关键是如何实现的?
      

  13.   

    首先不同的功能生成相应的dll,然后做个表,在表里方dll的名称和路径。然后动态加载到菜单。
    权限就用110010110111这种,如果是零则菜单不加载。
      

  14.   

    http://dev.csdn.net/Develop/article/19/19751.shtm