您的位置:首页 > 其它

走火入魔.NET权限组件-用资源权限(设置权限)思想来解来解决权限的存储问题

2010-10-24 23:19 417 查看
一个软件并不是B/S的就牛了,或者是C/S的就怎么了,软件的主要目的是为了达到用户的什么目的?QQ为啥不做个B/S的?VS系列为啥不做个B/S的?SAP为啥不做个B/S的?操作系统为啥不作个B/S的?只要能满足客户的需求不管事B/S的C/S的都是可以的,客户是否用起来方便,维护是否方便,定位是否准确比B/S的还是C/S的更重要,一个思想并不在于它是B/S的还是C/S的,而在于是把问题如何巧妙的解决的。



其实权限的存储,看透了,也是很简单的事情,就是 “什么对象对什么资源有什么权限?”把这个逻辑关系能保存好就ok了,你这样设计了,别人也容易阅读你的程序,容易理解你的数据库设计,将来也容易维护一些。

用一个思想,前后不矛盾的,把整个系统实现出来,也有些不容易,很多环节会出现前后矛盾,思路混乱的情况,所以时刻要提醒自己,自己的权限系统是按“什么对象对什么资源有什么权限?”的指导思想设计的,若有违背了这个思想,那就仔细深入思考,再重新整理思路。



什么对象:在系统里确定各种对象的唯一性,需要2个参数,一个是对象的类别,一个是对象的主键,就像是ERP里的入库单(单号)。

什么资源:什么资源,也是一样的,也需要一个分类,一个主键来识别资源的唯一性。

什么权限:最简单的做法,就是有一个权限表,只用主键来识别唯一性,而不是用“哪个模块+哪个功能”来识别权限,那样做过于繁琐了,将来的扩展性、可维护性都会很差一些,不能灵活适应各种复杂的情况。



参考权限的存储结构如下:



下面是相对万能的权限设置界面参考:

用户资源权限设置如下界面

角色资源权限设置如下界面

当然以上参考界面是,从资源的角度出发,对某个资源,哪些用户哪些角色有什么权限?的角度进行设置的权限页面。



存储在数据库中的效果如下:



以上界面的思想,也是体现了:“什么对象对什么资源有什么权限?”的核心指导思想。



每个软件公司,软件产品,都需要有执著追求的人,追求每一个细节功能的实现,追求每一个用户的反馈意见完美解决,追求不断完善,追求铜墙铁壁的精神,才能作好软件,再简单的软件,真正做透做深都非常不容易,就这么个简单的权限管理系统,我也搞来搞去完善了很多年,更何况一个复杂的应用系统,需要N多人N多年的精心锤炼才能打造出大家喜欢用的精品软件系统来。



说得通俗一点儿,我就是输入个内容然后有个查找列表功能就可以了,就这么简单的功能,能诞生出“google,baidu”这样大公司,让我们做个这么简单的功能,有几个人能真正做出来?换成其他的软件系统,也是一样的道理,做个真正功能强大的,好用的软件,都不容易的,没有表面上看上去一样那么简单,特别是模拟过别人系统的人会有这样的感受,不就那么几个功能吗?几天就可以搞定,但是往往模拟了、自己做了后发现,别说几天,几周都做不完。



很多事情,并没有你看上去的那么简单,你想象的那么简单,只有自己去做了后才发现,里面的水很深。









将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。
吉日嘎拉 不仅权通用权限
关注 - 128
粉丝 - 332
关注博主1 4 0
(请您对文章做出评价)« 上一篇:C# ASP.NET 最常用的通用权限的3个方法例子展示(每个功能一行代码实现)
» 下一篇:走火入魔.NET权限组件-用树型资源权限(数据集权限)思想来权限递归问题

posted on 2010-07-11 16:29 吉日嘎拉 不仅权通用权限 阅读(1210) 评论(8) 编辑 收藏


评论
1869083
#1楼  回复 引用 查看 
沙发观望下...
2010-07-11 16:46 | sun8134
#2楼  回复 引用 查看 
“什么对象对什么资源有什么权限?” 这是权限设计的基本,
难的是搞清楚它们之间的关系,角色、用户、资源不同的系统它们的关系存在差异,要做到通用,里面的水真的很深。。

2010-07-11 16:50 | 真名士
#3楼[楼主]  回复 引用 查看 
@真名士

不同的系统,看情况,有的系统可以直接满足需求,有的系统需要进行个性化的设置。完全通用,基本上可以做到90%以上吧。

2010-07-11 17:03 | 吉日嘎拉 不仅权限管理
#4楼  回复 引用 
qq 没有b/s的吗? webqq 不是代表吗?
2010-07-11 17:10 | ssdddsdfsdfsdfsdf[未注册用户]
#5楼  回复 引用 查看 
你这过时的弃儿,就算玩c/s,现在也是wpf/silverlight,win7的普及率一超过60%,还会有几个人要winform?
2010-07-11 17:23 | 轩辕法王
#6楼  回复 引用 查看 
讲了很多,但是真的有用的没有。
上次我问的是如何对资源进行权限控制,然后你介绍了下资源权限控制是什么东西,我倒。
2010-07-11 17:44 | ygcao
#7楼[楼主]  回复 引用 查看 
@ygcao

我写文章是总要按我的思路写的吧,我想怎么写?总有自己想怎么写的自由吧?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐