springmvc整合shiro許可權控制
Apache Shiro是一個強大易用的Java安全框架,提供了認證、授權、加密和會話管理等功能:
- 認證 - 使用者身份識別,常被稱為使用者“登入”;
- 授權 - 訪問控制;
- 密碼加密 - 保護或隱藏資料防止被偷窺;
- 會話管理 - 每使用者相關的時間敏感的狀態。
對於任何一個應用程式,Shiro都可以提供全面的安全管理服務。並且相對於其他安全框架,Shiro要簡單的多。
二:springmvc整合shiro
1,在web.xml中加入如下配置
<!-- 配置Shiro過濾器,先讓Shiro過濾系統接收到的請求 -->
<!-- 這裡filter-name必須對應applicationContext.xml中定義的<bean id="shiroFilter"/> -->
<!-- 使用[/*]匹配所有請求,保證所有的可控請求都經過Shiro的過濾 -->
<!-- 通常會將此filter-mapping放置到最前面(即其他filter-mapping前面),以保證它是過濾器鏈中第一個起作用的 -->
<!-- targetFilterLifecycle值預設為false,表示生命週期由SpringApplicationContext管理,設定為true則表示由ServletContainer管理 -->
[html] view plain copy
- <!-- shiro start安全過濾器 -->
- <filter>
- <filter-name>shiroFilter</filter-name>
- <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
- <async-supported>true</async-supported>
- <init-param>
- <param-name>targetFilterLifecycle</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>shiroFilter</filter-name>
- <url-pattern>/*</url-pattern>
- <dispatcher>REQUEST</dispatcher>
- </filter-mapping>
- <!-- shiro end -->
2,配置applicationContext.xml
<!-- Shiro主過濾器本身功能十分強大,其強大之處就在於它支援任何基於URL路徑表示式的、自定義的過濾器的執行 -->
<!-- Web應用中,Shiro可控制的Web請求必須經過Shiro主過濾器的攔截,Shiro對基於Spring的Web應用提供了完美的支援 -->
[html] view plain copy
- <!-- 快取管理器 -->
- <bean id="cacheManager" class="com.www.admin.spring.SpringCacheManagerWrapper">
- <property name="cacheManager" ref="springCacheManager"/>
- </bean>
- <!-- 憑證匹配器 -->
- <bean id="credentialsMatcher" class="com.www.admin.user.credentials.RetryLimitHashedCredentialsMatcher">
- <constructor-arg ref="cacheManager"/>
- <property name="hashAlgorithmName" value="md5"/>
- <property name="hashIterations" value="2"/>
- <property name="storedCredentialsHexEncoded" value="true"/>
- </bean>
- <!-- Realm實現 -->
- <bean id="userRealm" class="com.www.admin.user.realm.UserRealm">
- <property name="credentialsMatcher" ref="credentialsMatcher"/>
- <property name="cachingEnabled" value="true"/>
- <property name="authenticationCachingEnabled" value="true"/>
- <property name="authenticationCacheName" value="authenticationCache"/>
- <property name="authorizationCachingEnabled" value="true"/>
- <property name="authorizationCacheName" value="authorizationCache"/>
- </bean>
- <!-- 會話ID生成器 -->
- <bean id="sessionIdGenerator" class="org.apache.shiro.session.mgt.eis.JavaUuidSessionIdGenerator"/>
- <!-- 會話Cookie模板 -->
- <bean id="sessionIdCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
- <constructor-arg value="sid"/>
- <property name="httpOnly" value="true"/>
- <property name="maxAge" value="-1"/>
- </bean>
- <bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
- <constructor-arg value="rememberMe"/>
- <property name="httpOnly" value="true"/>
- <property name="maxAge" value="2592000"/><!-- 30天 -->
- </bean>
- <!-- rememberMe管理器 -->
- <bean id=
相關推薦
springmvc整合shiro許可權控制
一、什麼是Shiro Apache Shiro是一個強大易用的Java安全框架,提供了認證、授權、加密和會話管理等功能: 認證 - 使用者身份識別,常被稱為使用者“登入”; 授權 - 訪問控制; 密碼加密 - 保護或隱藏資料防止被偷窺; 會話
Springboot+SpringMVC+Myabtis整合shiro許可權控制
最近也被這個難題搞的我頭都大了額。寫下此篇文章獻給自己和廣大朋友。如果有不懂的地方可以加企鵝號詢問哦。 企鵝號:2054861587,不一定會時時在,但如果有空的話就會給你回答 maven依賴: <dependency> <groupId>
SpringMVC整合shiro許可權(附原始碼)
springMVC框架這裡就不多說了,下面是在springMVC框架上面直接整合shiro程式碼步驟 下面是我專案結構: 1、web.xml新增Shiro Filter <filter> <filter-nam
SpringMVC整合Shiro許可權框架
最近在學習Shiro,首先非常感謝開濤大神的《跟我學Shiro》系列,在我學習的過程中發揮了很大的指導作用。學習一個新的東西首先就是做一個demo,多看不如多敲,只有在實踐中才能發現自己的欠缺,下面記錄下來我整合shiro的過程。如果有不足之處,還望各位看官多多指出。 一、
Shiro許可權控制框架 ---SpringMVC+Spring+My batis+Mysql+Maven整合開發Web專案
在之前的博文簡單的介紹shiro許可權控制框架,現在我們接著講解使用 SpringMVC+Spring+My batis+Mysql+Maven整合開發Web專案 1.先由Maven選擇MavenProject建立一個Web專案(如果你還不會使用Maven的話可以去看
Apache Shiro許可權控制實戰,許可權控制SpringMVC + Mybatis + Shiro
Demo已經部署到線上,地址是http://shiro.itboy.net, 管理員帳號:admin,密碼:sojson.com 如果密碼錯誤,請用sojson。 PS:你可以註冊自己的帳號,然後用管理員賦許可權給你自己的帳號,但是,每20分鐘會把資料初始化一次。建議自己
shiro許可權控制(一):shiro介紹以及整合SSM框架
shiro安全框架是目前為止作為登入註冊最常用的框架,因為它十分的強大簡單,提供了認證、授權、加密和會話管理等功能 。 shiro能做什麼? 認證:驗證使用者的身份 授權:對使用者執行訪問控制:判斷使用者是否被允許做某事 會話管理:在任
Springmvc整合Shiro實現許可權管理
package com.authc.utils; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.util.Rand
Shiro+Spring+Struts2整合演示許可權控制
<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/jav
SSM整合shiro許可權管理
這幾天在學習了shiro許可權管理框架,在剛開始的時候學的時候因為這個配置問題困擾了我很長時間,所以在這篇文章我整合了自己用SSM搭建shiro許可權框架的過程。 1.配置 1.1jar包 在專案配置開始前需要先匯入shiro的相關jar包,下載地址:ht
Springboot2.x+shiro+redis整合填坑 (一)redis只做快取的情況 Springboot2.0 整合shiro許可權管理
主要記錄關鍵和有坑的地方 前提: 1、SpringBoot+shiro已經整合完畢,如果沒有整合,先查閱之前的Springboot2.0 整合shiro許可權管理 2、redis已經安裝完成 3、redis客戶端使用Lettuce,這也是sprinboot2.0後預設的,與jedis的區別,自行百度
SpringBoot整合Shiro許可權管理框架
專案目錄結構 1.pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://
SpringMVC整合Shiro和Swagger產生的路徑過濾問題
SSM整合Swagger和Shiro時出現的問題: 一:啟動swagger報錯Unable to infer base url. This is common when using dynamic servlet解決方法 在shiro配置檔案的自定義的過濾鏈中加上一下程式碼: <!-- swa
Apache Shiro 許可權控制 使用自定義的JdbcRealm(3)
使用自定義的realm 時需要配置shiro.ini 檔案 以及建一個類 MyJdbcRealm 繼承自 AuthorizingRealm 重寫其中的兩個方法 &nbs
Apache Shiro 許可權控制(2)
Shiro的 /WEB-INF目錄下的shiro.ini 配置檔案url匹配方式: ① ? 可以匹配一個字元 /admin? ---->可以匹配到/admin1 /admin12匹配不到 ② *
javaEE shiro框架,許可權控制。基於Spring框架的shiro許可權控制
許可權控制的方式: 方式一:通過過濾器或Struts2的攔截器實現許可權控制 方式二:為Struts2的Action加入註解(標識),然後為Action建立代理物件;代理物件進行許可權校驗,校驗通過後通過反射呼叫目標方法。 shiro框架可以進行認證、授權、會話管理、加
關於Apache shiro許可權控制學習小結
第一種:URL 級別粗粒度許可權控制 配置 web.xml 的 shiroFilter 攔截 /* 在 spring 的 applicationContext*.xml 配置檔案中配置同名 bean,配置 filterChainDefinitions 攔截控制規則 x
springMvc整合shiro xml配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3
在前後端分離的SpringBoot專案中整合Shiro許可權框架
出自 目錄 專案背景 解決方案 參考文章 專案背景 公司在幾年前就採用了前後端分離的開發模式,前端所有請求都使用ajax。這樣的專案結構在與CAS單點登入等許可權管理框架整合時遇到了很多問題,使得許可權部分的程式碼冗長醜陋,CAS的各種重定向也使得使
詳解spring整合shiro許可權管理與資料庫設計
現在基本上所有的後臺系統都逃不過許可權管理這一塊,這算是一個剛需了。現在我們來整合shiro來達到顆粒化許可權管理,也就是從連線選單到頁面功能按鈕,都進行許可權都驗證,從前端按鈕的顯示隱藏,到後臺具體功能方法的許可權驗證。 首先要先設計好我們的資料庫,先來看一張比較粗糙的資