现需求如下:
1、用户授权:允许用户选择一个代理用户,把自己的工作(访问权限与工作流)代理出去。在代理时,可以设置代理用户代理工作的时间段;
2、接受授权:代理用户登录系统后,选择一位被代理人开始代替执行工作;
3、授权回收:回收代理授权;
4、授权日志:可以查看代理用户所做的工作;
求求好心人帮帮助,这个需求怎么实现,数据库表要怎么去设计?
小弟这里先谢过了!

解决方案 »

  1.   

    嗯,我的想法是这样
    被代理人ID
    代理人ID
    状态(0有效,1无效)可权限怎么去判断呢?如何在被代理人授权回收时,保留代理人的权限
    工作流又怎么去判断?
      

  2.   

    你想得太简单了呵呵 据我知道的 oa有这个功能 我们公司的bpm也有这个功能 外出授权 具体怎么实现我没看过呵呵!
      

  3.   

    我的想法是建立一个数据库表结构如下:
    1、被代理人ID
    2、代理人ID
    3、状态(有效,无效)
    4、开始时间
    5、结束时间
    以此表来记录两者之间的关系
     
    一、“用户授权”,把“被代理用户”ID与“代理用户”ID以及开始/结束时间放入表中以建立关系
    二、“接受授权”,“代理用户”从表中取出“被代理用户”的权限,增加到“代理用户”中
        问题1:工作流的权限怎么去判断呢?“代理用户”怎么样得到“被代理用户”的节点呢?
    三、“授权回收”,?
        问题2:当用户权限部分相同时,如何删除“被代理用户”的权限而保留“代理用户”原本的权限
        我的想法:在用户角色关系表中加入字段判断代理的权限,根据代理与用户字段构成联合主键,
                  这样需要修改数据库了,能不能不与其它的数据表有关系,而实现
        例:   序号   用户   角  色    代理
                 1    张三   总经理    张三
                 2    李四   会  计    李四
                 3    李四   总经理    张三
    四、“授权日志”,?
        问题3:如何把自身工作与代理的工作区分出来?
      

  4.   

    写的不好莫要怪
    --根据功能化分
    --登陆用户表
    user(id,主键--用户ID
    name,--用户名
    status--代理用户的状态(T--代表没代理可以接受代理,F--在代理别人工作)判断权限还要判断状态符合实际情况
    roleid)--角色--角色表
    role(roleid,主键--关联用户
    rightid)---关联权限--权限说明表
    rights(rightid 主键--权限ID
    ,rightsname保留字段可以为空)--名称--,descright--权限描述 可以为空
    ,rightstartdate--开始时间 可以为空
    ,rightenddate--结束时间  可以为空
    ,rightdate(保留字段可以为空))--相隔时间--角色设置---role表
    0--无权限用于权限回收
    1--代表管理员
    2--代表用户
    3---带理用户所有的rights(
    代理授权 eg:user(1,1,1)--管理员--; 
                role(1,12)---有12号权限(代理授权)
                rights(12,'代理授权','让员工有代理权限','2009-14-13 12:00:00','2009-14-15 12:00:00','3')代理别人访问权限代理出去,工作流代理出去,可以看日志
    -------等等
    )
      

  5.   

    java技术群:69705156
    可以交流
      

  6.   

     我告诉你用工作流JBPM去实现,具体怎么实现的,自己去动手。
    自己动手丰衣足食。哈哈。