从权限控制到合理分解系统的思考
本来这篇文章想写一个不利用轮子在laravel上实现rbac的东西的,其实也就是自己造一个rbac的轮子。
但是,最后自己还是懒了,不想写代码,所以呢,聊聊从权限管理让我思考的分解系统的一些东西吧,其实也不算是分解系统,仅仅就是想说说松耦合的事情。
曾经我以为我自己了解的不够多,但是通过这半年换工作以后我才意识到我了解的很多了,只不过有很多东西仅仅就是了解的程度而已,没有实践经验并没有什么卵用,而且了解的越多,不知道的就越多,就包括这次的权限控制这些东西,以前我总是认为这是个很高大上的东西,后面的学习我知道了rbac就是角色权限这些东西,现在我又认识到,这些东西应该是可以热插拔的可替换的,不应该对现有系统造成任何影响,也就是说我撤除掉权限相关的东西系统应该可以正常运行下去,还有,其实造一个轮子很难啊,因为可能需要我们为不同的框架去做相应的适配。
学习,永远都停不下来,我也不知道我上面说的东西对不对。就这样吧,看东西去了
对了,最重要的东西没说,说说思路。
首先我们应该有一个baseModel,所有的model对象都继承自baseModel,baseModel里面有hasRole,hasPermission,can ,cannot等这些方法用于权限的验证,然后blade那边我们也应该有相应的控制,至于角色权限相关,就按照自己的思路定义就可以了。
一些都应该是可替换的
- 原文作者:M1racle
- 原文链接:https://www.cimple.ink/2017/01/07/thoughts-from-permission-control-to-reasonable-decomposition-system/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。