求用户授权的需求实现

I am 花生 2009-05-13 01:53:57
现需求如下:
1、用户授权:允许用户选择一个代理用户,把自己的工作(访问权限与工作流)代理出去。在代理时,可以设置代理用户代理工作的时间段;
2、接受授权:代理用户登录系统后,选择一位被代理人开始代替执行工作;
3、授权回收:回收代理授权;
4、授权日志:可以查看代理用户所做的工作;
求求好心人帮帮助,这个需求怎么实现,数据库表要怎么去设计?
小弟这里先谢过了!
...全文
188 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiebinghu 2009-05-14
  • 打赏
  • 举报
回复
我告诉你用工作流JBPM去实现,具体怎么实现的,自己去动手。。。。
自己动手丰衣足食。哈哈。。。。
xue08161981 2009-05-14
  • 打赏
  • 举报
回复
这和oa里面的事务托管一模一样的
I am 花生 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 xnjnmn 的回复:]
写的不好莫要怪

SQL code

--根据功能化分
--登陆用户表
user(id,主键--用户ID
name,--用户名
status--代理用户的状态(T--代表没代理可以接受代理,F--在代理别人工作)判断权限还要判断状态符合实际情况
roleid)--角色

--角色表
role(roleid,主键--关联用户
rightid)---关联权限

--权限说明表
rights(rightid 主键--权限ID
,rightsname保留字段可以为空)--名称--

,descright--权限描述 可以为空
,righ…
[/Quote]

十分感谢,用户表、角色表、权限表,是建好了的,现在想另外添加表去实现
中智软件科技 2009-05-13
  • 打赏
  • 举报
回复
java技术群:69705156
可以交流
xnjnmn 2009-05-13
  • 打赏
  • 举报
回复
写的不好莫要怪


--根据功能化分
--登陆用户表
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')

代理别人

访问权限代理出去,

工作流代理出去,

可以看日志
-------等等
)

I am 花生 2009-05-13
  • 打赏
  • 举报
回复
我的想法是建立一个数据库表结构如下:
1、被代理人ID
2、代理人ID
3、状态(有效,无效)
4、开始时间
5、结束时间
以此表来记录两者之间的关系

一、“用户授权”,把“被代理用户”ID与“代理用户”ID以及开始/结束时间放入表中以建立关系
二、“接受授权”,“代理用户”从表中取出“被代理用户”的权限,增加到“代理用户”中
问题1:工作流的权限怎么去判断呢?“代理用户”怎么样得到“被代理用户”的节点呢?
三、“授权回收”,?
问题2:当用户权限部分相同时,如何删除“被代理用户”的权限而保留“代理用户”原本的权限
我的想法:在用户角色关系表中加入字段判断代理的权限,根据代理与用户字段构成联合主键,
这样需要修改数据库了,能不能不与其它的数据表有关系,而实现
例: 序号 用户 角 色 代理
1 张三 总经理 张三
2 李四 会 计 李四
3 李四 总经理 张三
四、“授权日志”,?
问题3:如何把自身工作与代理的工作区分出来?
I am 花生 2009-05-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 leftwing520 的回复:]
你将用户的权限绑定到职务上 把用户权限分成俩部分
·一个事管理员给的权限(也就是固有权限)另一个是上级的授权,这个需要跑一个线程设定线程所跑的时间时间到了就会自动回收代理权
[/Quote]

遇到职务重复的情况怎么办呢?
1 张三 总经理
2 张三 会计
3 李四 会计

回收的时候没法判断啊!

只能在关系表上加个字段

1 张三 总经理 张三
2 张三 会计 张三
3 李四 会计 李四
4 李四 总经理 张三

有没有方法,不在用户角色关系表上加字段的
yunyouyou 2009-05-13
  • 打赏
  • 举报
回复
没见过。
lgq_0714 2009-05-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dongqdonglin 的回复:]
引用 4 楼 weiliu0626 的回复:
哥哥,能不能详细点?俺也没做过OA的外出授权啊
要是权限的的话 不能很简单的设计一两张表能搞定的。。。。。我记得以前弄过大概要8-10张表,这个 你要是只实现 让另外的人去帮他处理任务的话 那就简单不涉及到别的话 要是涉及到 就是我说的外出授权问题了 !
[/Quote]
学习了!!!
leftwing520 2009-05-13
  • 打赏
  • 举报
回复
跑线程
leftwing520 2009-05-13
  • 打赏
  • 举报
回复
你将用户的权限绑定到职务上 把用户权限分成俩部分
·一个事管理员给的权限(也就是固有权限)另一个是上级的授权,这个需要跑一个线程设定线程所跑的时间时间到了就会自动回收代理权
努力 2009-05-13
  • 打赏
  • 举报
回复
这个不是一张两张表能处理的,如果你加标识位字段时,以前的表可能也要做修改.这个应该是当初设计有问题吧
shuai45 2009-05-13
  • 打赏
  • 举报
回复
呵呵,LZ可以看看 设计模式:代理模式。
dongqdonglin 2009-05-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 weiliu0626 的回复:]
哥哥,能不能详细点?俺也没做过OA的外出授权啊
[/Quote]要是权限的的话 不能很简单的设计一两张表能搞定的。。。。。我记得以前弄过大概要8-10张表,这个 你要是只实现 让另外的人去帮他处理任务的话 那就简单不涉及到别的话 要是涉及到 就是我说的外出授权问题了 !
dongqdonglin 2009-05-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 weiliu0626 的回复:]
嗯,我的想法是这样
被代理人ID
代理人ID
状态(0有效,1无效)

可权限怎么去判断呢?如何在被代理人授权回收时,保留代理人的权限
工作流又怎么去判断?
[/Quote]
你想得太简单了呵呵 据我知道的 oa有这个功能 我们公司的bpm也有这个功能 外出授权 具体怎么实现我没看过呵呵!
I am 花生 2009-05-13
  • 打赏
  • 举报
回复
哥哥,能不能详细点?俺也没做过OA的外出授权啊
dongqdonglin 2009-05-13
  • 打赏
  • 举报
回复
这个 就是 一个代办 其实就像oa里面的外出授权一样
I am 花生 2009-05-13
  • 打赏
  • 举报
回复
嗯,我的想法是这样
被代理人ID
代理人ID
状态(0有效,1无效)

可权限怎么去判断呢?如何在被代理人授权回收时,保留代理人的权限
工作流又怎么去判断?
s_Prince 2009-05-13
  • 打赏
  • 举报
回复
新鲜需求,帮顶下。
个人认为不用太麻烦,就建个代理用户表,引用用户表的ID,当用户登陆时看这个表里有没有自己的记录,
如果有,就执行其余相关的操作。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧