其實很早的時候,就在項目中有使用到shiro作登錄認證,直到今天才又想起來這茬,本身抽空搭了一個spring+springmvc+mybatis和shiro進行集成的種子項目,固然裏面還有很簡單的測試。本文將講述在maven下如何進行集成,但願對你有所幫助,喜歡請推薦。至於shiro相關的,最近也會寫幾篇介紹的,但願可以有一個主觀的瞭解。java
說明:關於spring+springmvc+mybatis的集成請移步另外一篇博客:Spring+SpringMvc+Mybatis框架集成搭建教程git
1.第一步引入shiro依賴
github
2.在web.xml中引入shiro的filter
web
3.resources文件下的spring目錄下新建spring-shiro.xmlspring
4.新建自定義的Realm,CustomRealm.java
數據庫
說明:doGetAuthorizationInfo()是作受權,好比項目中有不少資源,指定角色的人員只有指定的資源,這種狀況可使用這個方法來作受權,doGetAuthenticationInfo()方法作認證,咱們通常是用做用戶登錄主邏輯,這個方法中咱們只須要根據用戶提供的用戶名去數據庫中查找對應的用戶信息,而後用該信息返回一個SimpleAuthenticationInfo對象便可,不須要比較數據庫中的密碼和token中的密碼是否一直,由於在登錄時shiro會幫咱們作這件事,不匹配會拋出IncorrectCredentialsException來提示密碼錯誤。session
5.自定義AuthroizeFilter.java
mybatis
6.自定義SessionUtils.java來管理shiro相關的session等
mvc
通過上面這些步驟,咱們就完成了spring和shiro的集成,關於簡單的測試程序,再也不貼出,在這裏提供該種子項目的github地址:https://github.com/hafizzhang/spring-shiro.git框架
經過本文,咱們就完成了spring集成shiro作登錄的受權和認證,其實很簡單,繼續努力成長!