原文: http://zhangxiao.org/2016/jfinal-shiro-integration1/Apache Shiro是Java的一个安全框架,也是我第一个使用的Java安全框架。在个人入门级开源项目JFinal-Paladin中,我进行了一些实践,整体感受仍是很是棒的,该考虑到的都感受已经考虑到。对比以前所接触过的php框架里面安全模块,感受只有过之而无不及。我的体验而已,有意见的朋友请喷?。
本文主要来说述下在JFianl中集成Shiro过程当中的经验和想法。php
英文好的能够直接看官网教程,英文很差的能够看下开涛的博客《跟我学Shiro》系列html
在看教程以前,最好了解想一些shiro的概念:Apache Shiro Terminologygit
一开始的时候,我本身搞了一个JFinal的全局Interceptor
,用来作Shiro
的权限判断。缘由是一开始不了解Shiro,不知道运用Shiro
的Filter
,理所固然地从JFinal
的层面进行思考。github
固然,在JFinal
的Interceptor
中也是能够作一些权限的判断的,不过顺序上面先要通过Shiro
的Filter
,而后才会到JFinal
的Filter
,真正进入JFinal
。web
能够直接拿来用,能够作参考,我在实践的时候,也参考了很多apache
项目地址:http://git.oschina.net/myaniu...segmentfault
项目地址:http://git.oschina.net/jayqqa...php框架
项目地址:https://github.com/Dreampie/j...安全
部分现成方案中使用了Plugin、Interceptor、Annotation的方式来集成Shrio,我的不是很是喜欢,我的感受有2个痛点:框架
一、须要好多代码去实现Plugin、Interceptor、Annotation,虽然别人写好了,可是你仍是得去了解源码,万一有个坑呢:),毕竟不是什么大而成熟且运用普遍的解决方案
二、你项目里有这么多代码,想一想一下
你得去找,去改,从新编译,从新部署。无论你疯不疯,反正我感受我会疯的。
既然Shiro是专业的那就让它作好该作的。
自定义Realm
+自定义filters
+url表达式
,来实现自定义的验证方式待续...
下一篇中我将会整理具体的实现步骤:《JFianl整合Shiro(二)》