说老实话我现在还没开始写,原来零散的代码要想拼凑起来还真不是一件容易的事情,懒人做事情就是不想多动,所以看见工作量大了就想偷懒,于是就会花更多的时间来想更容易地解决这个问题。
所以我现在这里把整个构思想法记录下来,等我回家再考虑如何处理。
主要的想法呢上次已经说了,是想做一个高度抽象地组件,具体的表现应该是一个API,而且操作要最简单,比如在一个页面只需要在load事件里实例化一次就可以自动的判断页面的URL和遍历Cookie和Session去匹配用户登录标示里的用户ID,然后再数据库里查询对应关系来判断是否具备权限,如果这个页面包含需要控制的控件,就遍历目录查找控件,然后根据权限来设置这些控件的Enabled为true或者false。
再次精化一下构思,在个页面都去读数据库的效率太低。
所以我们在系统开始运行的时候--Application start开始就把所有的资源信息缓存进内存。
然后再用户登录的时候,把用户的ID所在的Role所有的资源的ID用数组的方式纪录进Session(Cookie是可以被篡改的,不好),然后判断的事情就在内存里完成了。
这里有几个问题
首先是Applicationstart事件在什么地方注册,然后如果用HttpModule的话在起作用的时候又不能控制到页面上的控件。
在这里我初步的想法是通过HttpModule注册事件和控制页面的权限,然后通过一些Public的类来控制登录,在登陆的时候把用户ID传进来,在页面上需要对控件权限作限制的页面在load事件里实例化一个专门的类来专门管控件。
希望看到的大大给点意见和建议
PS,上一篇留言让我看蔡克伦的Permission Base的同学,我搜索了一下,那位蔡大大的Blog已经删了,google了一下在SF上倒是有Release,但是源代码是没有鸟,如果你有的话请联系我
分享到:
相关推荐
权限粒度到按钮级别的权限管理系统,系统保护了用户管理、菜单管理、角色管理,并且用shiro组件实现权限管理,粒度细到按钮级别的权限
基于SpringBoot+shiro实现数据库的细粒度动态权限管理系统 项目经过严格测试,确保可以运行!源码无需做任何更改! 基于SpringBoot+shiro实现数据库的细粒度动态权限管理系统 项目经过严格测试,确保可以运行!...
BS应用系统中的细粒度权限管理模型.pdf
java的细粒度权限和shiro权限校验 Spring + Struts + hibernate
动态代理加注解实现细粒度的权限管理,具体到方法(前面上传的资源修改)
DroidDefence:细粒度的Android应用权限管理系统.pdf
动态代理加注解实现细粒度的权限拦截,具体到方法
简单的权限管理系统,设计人员管理,细粒度的权限管理,项目基于springboot,使用了jwt技术。
使用SpringBoot与shiro实现基于数据库的细粒度动态权限管理系统实例
focus,用shiro和springboot搭建的权限管理系统,用户、角色、资源管理授权,细粒度到权限码
使用 Springboot 实现的基于数据库细粒度动态权限管理系统.zip
权限控制是Web应用项目中比较关键的环节,如果不建立权限管理系统,那么一个非法用户可以轻而易举通过浏览器访问Web应用项目中的所有功能。因此需要权限管理系统进行权限检测,让经过授权的用户可以正常合法的使用已...
管理系统系列--使用SpringBoot与shiro实现基于数据库的细粒度动态权限管理系统实例
基于SpringBoot/WebFlux+Shiro+JPA+Java/Scala,实现的数据库细粒度动态权限管理系统(源码),项目经过严格测试,确保可以运行! 环境 SpringBoot 2.0.3.RELEASE SpringBoot WebFlux SpringBoot Data Jpa Apache ...