在某些软件里如里某个用户只有整个软件里的某几块功能的使用权限,那么其它的功能菜单里的条目都会变灰的,这种权限控制是怎么实现的?各位能不能具体写一些代码出来给我看看

解决方案 »

  1.   

    可以用数组或数位来表示一个权限是否开放
    b(0)=true'权限1
    b(1)=false'权限2
    ...
    b(n)=true'权限nmnuEdit.Enabled=b(1) and b(n)'当用户同时拥有b(1)和b(n)权限的时候才可以使用mnuEdit菜单
      

  2.   

    应该尝试用类把数据库操作和表现层分开建立一个user 的Class,userCls,用枚举来表示权限
    用pown=userCls.pown(1.库管)这样不是很好??
      

  3.   

    damocles兄能不能说的具体点,我不太看得明白
      

  4.   

    按hank212兄所说的在代码里规定用户权限,那用户权限的分配就定死了,我需要的是可以活动分配用户的权限的
      

  5.   

    用数据库表
    用户表,用户必须属于一个角色,角色id字段
    角色(用户组)表
    权限表
    角色-权限关联表(两个字段,角色id、权限id,一对多)
      

  6.   

    viena() 怎样能方便的根据权限动态生成菜单
      

  7.   

    我都是经常用viena()的方法,
    在登录时,我们会输入用户名,用户密码!并记下当前的用户的类型!
    在这里,我们可以设置一个全局变量,定义一个用户类型与角色,
    当进入该个模块,首先判断用户类型是否合法时,如果不合法,自动退出该模块,否则可以进入!
      

  8.   

    viena() 
    权限与菜单对应,循环设置菜单的属性是不是每个菜单也要对应一组权限(事先在代码里定好)
    然后再跟用户对应的那组权限比对,如何全对上,就可用?
    如果是这样的话,我觉得不是很方便,代码量又大,已后改改也麻烦
      

  9.   

    http://community.csdn.net/Expert/topic/4583/4583334.xml?temp=.347439
      

  10.   

    我用一个字符串,比如“01010101001111”,然后每位对应一个权限,在登录的时候根据位来判断菜单的Enabled与否。如果是0就Disabled,1就Enabled.