原文: 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(二)》