1.除了spring本身專案的jar包,還要加入四個jar包
(1)shiro-all-1.2.5.jar
(2)slf4j-api-1.7.7.jar
(3)slf4j-log4j12-1.7.7.jar
(4)log4j-1.2.17.jar
2.首先進行web.xml的配置
參考官方的文件
需要在web.xml中配置乙個過濾器,即shiro過濾器
shirofilter
org.springframework.web.filter.delegatingfilterproxy
targetfilterlifecycle
true
/*
在url-pattern標籤中,設定為/*即攔截所有的請求。
(1)非常非常重要的shiro的核心securitymanager配置
securitymanager有兩個屬性,乙個是realm,用於和資料底層打交道,乙個是cachemanager用於使用一些快取工具(例如ehcache和redis)提高效率,在這邊我們使用的是ehcache。下面去具體配置這兩個bean。
(2)配置cachemanager
這步主要分為兩個步驟,
第一步,加入ehcache的jar包,ehcache-core-2.6.11.jar
第二步,在classpath下加入ehcache.xml配置檔案
(3)配置realm
這邊realm是自己寫的乙個類,實現了realm介面,並且實現了它的抽象方法。
(4)配置lifecyclebeanpostprocessor
注入這個bean,通過ioc容器來管理shiro一些bean的生命週期,生命週期就是初始化 與 銷毀的管理
(5)啟用shiro註解,注意!!必須配置了第四步,這步配置後才會生效
(6)關鍵,配置shirofilter
/login.jsp = anon
/** = authc
要注意的是,此處的shirofilter名字必須和web.xml中配置的filter的名字相同。 Shiro基本概念及與Spring整合
subject 當前登入人的乙個安全檢視。可以從物件中獲取登入資訊。securitymanager 架構的核心,組織管理所有的subject。realms 使用者自定義,提供獲取使用者資訊,認證資訊。下面是更加詳細的架構圖 通過configuration配置shiro。configuration p...
Spring整合Shiro時記憶體溢位的問題分析
前段時間有一天系統訪問量突然增加,系統每隔一兩個小時就會由於記憶體瞬時飆公升而宕機。檢視記憶體dump檔案發現其中shiro的 session物件異常多 後來經分析才發現是由於使用spring整合shiro時配置不當導致的。當時的配置如下 sessionmanager class org.apach...
shiro學習筆記(5) spring整合
spring整合shiro 1 1 jar org.apache.shiro shiro spring 1.2.3 2 web.xml contextconfiglocation classpath spring shiro.xml org.springframework.web.context.c...