JAVA权限设计模块,设计思路。网上的不要,请根据我的需求来,谢谢了啊。好了我还会加分。
最近公司上一项目,(我是做JAVA开发的)我这次负责的是权限设计模块。以前没做过,现在没有思路,请做过的童鞋们给点思路。越详细越好!下面我说一下我们的具体需求!我们做的是...
最近公司上一项目,(我是做JAVA开发的)我这次负责的是权限设计模块。以前没做过,现在没有思路,请做过的童鞋们给点思路。越详细越好!下面我说一下我们的具体需求!
我们做的是一套试验管理系统,设置了项目组,即在创建试验项目时配置项目参与人员,项目负责人、项目创建人、项目参与人员都是项目组成员,项目组成员在试验项目结束前可以对相关数据可以进行增删改查操作,项目负责人可以结束项目,在项目结束后只可以浏览和下载项目数据,如果项目组以外的人需要查看或下载数据时,需要项目负责人进行授权,授权内容包括授权给哪些人以及授权多长时间,过了授权时间后被授权的人不可以浏览和下载数据。
这就是我们的需求,请有思路的同学们点拨一下,当然越详细越好,还有那个授权时间那如何处理,它是以天为单位!说的好我还会加分。谢谢! 展开
我们做的是一套试验管理系统,设置了项目组,即在创建试验项目时配置项目参与人员,项目负责人、项目创建人、项目参与人员都是项目组成员,项目组成员在试验项目结束前可以对相关数据可以进行增删改查操作,项目负责人可以结束项目,在项目结束后只可以浏览和下载项目数据,如果项目组以外的人需要查看或下载数据时,需要项目负责人进行授权,授权内容包括授权给哪些人以及授权多长时间,过了授权时间后被授权的人不可以浏览和下载数据。
这就是我们的需求,请有思路的同学们点拨一下,当然越详细越好,还有那个授权时间那如何处理,它是以天为单位!说的好我还会加分。谢谢! 展开
3个回答
展开全部
不知道你们的需求要细到什么程度,只能说个大概
最基本的权限管理是要定义角色和权限
每个用户都有若干角色身份,比如项目负责人,项目参与者都是角色
权限就是操作,比如下载数据,浏览项目这些都是权限
角色表和权限表是多对多的关系
如果要给某个用户分配某个权限,就把一个权限和一个角色关联起来,同时确保这个用户有这个被关联的角色身份,这样就可以通过用户查角色,通过角色查关联权限,如果用户有关联当前操作需要的权限,就可以通过了。
以上是粗粒度的方法级权限管理的基本思想
细粒度的数据级权限控制要复杂得多,比如有两个项目,两个用户分别是它们的项目组长,而每个用户只能管自己的那个项目组,因为他们角色都是项目组长,所以就不能用上面的方法来验证权限了。
解决方案说来话长,采纳以后可以hi我详细说
授权时间可以使用定时器,到一定时间以后将角色和权限的关联关系删掉,也可以定期轮循检查,发现有权限过期了就删掉,前提当然是你的权限关联要记好生效时间和有效期
最基本的权限管理是要定义角色和权限
每个用户都有若干角色身份,比如项目负责人,项目参与者都是角色
权限就是操作,比如下载数据,浏览项目这些都是权限
角色表和权限表是多对多的关系
如果要给某个用户分配某个权限,就把一个权限和一个角色关联起来,同时确保这个用户有这个被关联的角色身份,这样就可以通过用户查角色,通过角色查关联权限,如果用户有关联当前操作需要的权限,就可以通过了。
以上是粗粒度的方法级权限管理的基本思想
细粒度的数据级权限控制要复杂得多,比如有两个项目,两个用户分别是它们的项目组长,而每个用户只能管自己的那个项目组,因为他们角色都是项目组长,所以就不能用上面的方法来验证权限了。
解决方案说来话长,采纳以后可以hi我详细说
授权时间可以使用定时器,到一定时间以后将角色和权限的关联关系删掉,也可以定期轮循检查,发现有权限过期了就删掉,前提当然是你的权限关联要记好生效时间和有效期
展开全部
首先,我具体不知道你们这个代码是如何实现的。
如果这些按钮和页面写的是活的,那很好办,项目负责人和项目参与人员都是一个表,可以用一个字段来标示,0是参与,1是负责,那么每次进页面的时候,或者是点击按钮的时候,我们
先去数据库里面查该登录用户是否是负责人或项目参与人员,如果没有相应的权限,那么我们可以让程序提示,或者直接不让相关按钮显示
至于授权人员,和负责人之间,他们的本质区别就是是否受时间的控制,那么我们可以提供两个时间字段,和另一个标示他们两个之间的字段是否可以授权,负责人可以授权,被授权的人
虽然与授权人在授权时间内有一样的权限,但是不能授权别人,可以先判断是否是负责人,如果不是,那么取时间来判断是否在生效时间内,从而控制页面提示或者按钮是否显示
===========================================
还有一种方式,我们可以在用户与各个模块之间建立一个角色模块,通过角色模块来设置权限。
比如,登录用户是admin,那么他拥有最大权限。最大权限也就是系统管理员角色。角色是什么概念,角色是一个模块,他里面的字段就是记录是否有其他模块的权限等等
比如目前我们有角色1和角色2两个角色。角色1针对试验管理系统有增删改查权限,角色针对该系统有负责权限,那么当用户1有角色1时,那么他有增删改查,也就是参与人的功能
,当有角色2时有负责也就是负责人的功能,当同时具备1,2那么就有全部功能。可以这样来考虑
希望对LZ有帮助,纯手工
如果这些按钮和页面写的是活的,那很好办,项目负责人和项目参与人员都是一个表,可以用一个字段来标示,0是参与,1是负责,那么每次进页面的时候,或者是点击按钮的时候,我们
先去数据库里面查该登录用户是否是负责人或项目参与人员,如果没有相应的权限,那么我们可以让程序提示,或者直接不让相关按钮显示
至于授权人员,和负责人之间,他们的本质区别就是是否受时间的控制,那么我们可以提供两个时间字段,和另一个标示他们两个之间的字段是否可以授权,负责人可以授权,被授权的人
虽然与授权人在授权时间内有一样的权限,但是不能授权别人,可以先判断是否是负责人,如果不是,那么取时间来判断是否在生效时间内,从而控制页面提示或者按钮是否显示
===========================================
还有一种方式,我们可以在用户与各个模块之间建立一个角色模块,通过角色模块来设置权限。
比如,登录用户是admin,那么他拥有最大权限。最大权限也就是系统管理员角色。角色是什么概念,角色是一个模块,他里面的字段就是记录是否有其他模块的权限等等
比如目前我们有角色1和角色2两个角色。角色1针对试验管理系统有增删改查权限,角色针对该系统有负责权限,那么当用户1有角色1时,那么他有增删改查,也就是参与人的功能
,当有角色2时有负责也就是负责人的功能,当同时具备1,2那么就有全部功能。可以这样来考虑
希望对LZ有帮助,纯手工
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
RBAC已经很成熟了,什么大型的系统不能搞定?为什么要自创普适性很窄的东西呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询