前阵子项目中的权限设计方案和jfinal club1.4的权限设计不谋而合,都是基于模板指令以及拦截器实现的。
但是club1.4权限设计中有一点不太友好,就是必须要把每个controller中所有的方法(请求地址actionKey)都保存到permission表,如果漏失即没有权限访问。
实际上当项目较大时,维护所有的actionKey,这个过程是比较繁琐的。
我们项目里为了简化这个问题,新增了一个@Perm注解,用于controller的方法上,并在拦截中首先判断请求的方法上是否有这个注解,有@Perm注解执行权限校验逻辑,没有注解直接允许访问。
这样整个权限模块就更加灵活了,波总你看看呢。
权限管理不能使用注解,因为注解是写死在 java 代码中的,无法实现完全动态化的配置,jfinal club 1.4 的 java 代码之下的权限是完全动态化的,这个是注解永远无法达到的
直播中你再听一下 jfinal club 的权限设计就知道有多爽了