楼主可以到 jdon 看看,那有些不错的资料

解决方案 »

  1.   

    试哈
    将用户做分组,在组里面设置权限,组对应某表的操作,
    在对表的操作中分查询,插入,修改,删除
    输入为用户的id,根据用户-分组表查询到用户对某表的操作权限,(取得用户权限的方法)
    也面里面调用的时候,调用这个数据库bean,在调用的时候先调用取得用户权限的方法,然后做相应的操作限制
    表结构
    T :sysUser
    userId
    T: sysRole
    roleId
    roleName
    T:userRole
    roleId
    userId
    T:rolePriv
    roleId
    tableName
    privValue
    取得权限的方法
    public int getPriv(String userId){
      try{
         String sql="select privValue from v_user_priv where userId="+userId;
         ......
         return rs.getInt(1);
    }
    .....
    }
    v_user_priv的建立
    select ... from sysUser a,role b,rolePrive c
    where a.userid=b.roleid and b.roleid=c.roleid
    在bean里面
    public String insert(String userId){
       if (getPriv("1")==1){
          doinsert();
           return "ok";
       }
       else{
          return "no";
       }
    }
    这样的权限是对表的权限
    如果你的也面里面把所有的权限都分开了,可以把
    T:rolePriv
    roleId
    tableName
    privValue
    改成正队也面的访问
    只是思路,没有用国这样的方法,我们都是对也面精心锁顶的。
      

  2.   

    征对也面的可以把,没有的权限不显示出来,比较友好,征对表的,比较简单,但是截面不友好,不过安全性高,数据库有一定附加开销。
    不过到了ejb好象可以征对实体bean做权限控制。
      

  3.   

    权限设计完美版,满足数据库设计1-7要求一,人  表
    id   姓名      组id
    1    张三       1
    2    李四       2二, 组  表id     组名           
    1      党支部         
    2      团支部          
    3      小脚侦察队     
    4      特权组三,权限表
    id    权限名
    1      扫地
    2      看报纸
    3      看毛片
    4      罚款四,组权对应表
    id  组id  权id
    1   1     1
    2   1     2
    3   2     2
    4   2     3
    5   3     3
    6   3     4
    7   4     1
    8   4     2
    9   4     3
    10  4     4(注:组=角色)