shiro與spring的整合

2021-09-24 01:54:32 字數 1244 閱讀 7882

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...