当还没深入开发时也感觉不出来其中的奥秘,也体会不出来否好用还是不好用,就感觉看着是很强大,足够强大,还可以无限扩展一样。
随着自己着手开发的信息化业务系统越来越多、经验积累也越来越多、各种体会也越来越深刻,从最近5年左右开始,逐渐发现这个权限设计存在蛮多问题,有很多细节方面无法满足开发要求灵活性,先简单的总结一下其中的不足,虽然对付用用还是没问题:
1:例如有些模块,是没删除功能的也没结束功能的,例如打个比方“成本预算”不是啥模块都清一色“添加、删除、修改”,权限哪里有那么简单了。
2:无法进行灵活扩展,例如某一个人有人事招聘权限、面试权限、笔试权限、确定岗位权限、确定试用期期限的权限,那怎么扩展了?那不是没完没了了?
3:判断权限的函数相对繁琐,需要判断哪个模块上的什么 *** 作权限?2个参数才可以,相对于只进行有什么 *** 作权限判断还是过于复杂。
4:无法简化、细化 *** 作权限项,例如我想简化为5个权限,不想设置这么多权限时,就会麻烦一些。
由于存在以上几点缺点无法得到比较好的解决,后来权限管理的设计就进行了简化、使得更加灵活了,更加好扩展了。
*** 作权限的判断函数也变得非常简单,就一行代码就可以了,思路也简化了,灵活性也有了。
// 这些是 *** 作权限,当前用户有什么相应的 *** 作权限?
this.permissionAdd = this.IsAuthorized("Roleadmin.Add");
一个好的权限管理系统,若刚开始就走错了方向,那接下来越走就越折腾了,很多时候往往是设计思想的一点点变化,可能会导致全局上的天大差别,有的软件越走越臃肿,越累。
其实很多时候,往往是差距那么一点点的小小的设计理念,小小的功能差别,就能绝对胜败。例如海湾战争期间,伊拉克的坦克也是坦克,老美的坦克也是坦克,他们很多功能都有,但是人家老美的坦克就能多打几百米,那就整个战场上可能就由于有几百米的差距,带来惨痛的损失,在软件开发上也是一样的,很多功能上的一些细小的差距很可能导致了,整个软件系统就是没人家的好用。
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。 总结以上是内存溢出为你收集整理的最经典的权限设计同样也是最糟糕的权限设计,权限设计理念最关键第一步之间的PK全部内容,希望文章能够帮你解决最经典的权限设计同样也是最糟糕的权限设计,权限设计理念最关键第一步之间的PK所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)