SpringMVC與Shiro的最簡單整合(不包含許可權管理)
1.Maven 引入依賴
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.4.RELEASE</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-quartz</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.3.2</version> </dependency>
2.web.xml配置
3.配置Spring配置檔案 ——spring-main.xml<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name>report</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:config/report/spring/spring-main.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- UTF-8字元編碼 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>shiroFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> <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> </filter-mapping> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:config/report/spring/spring-main.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <import resource="spring-shiro.xml"/> <mvc:annotation-driven /> <!-- <mvc:resources location="/" mapping="/*/*/*.js"/> <mvc:resources location="/" mapping="/*/*/*.css"/> --> <mvc:default-servlet-handler/> <context:component-scan base-package="report.controller" /> <context:component-scan base-package="report.shiro" /> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>/WEB-INF/jsp/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> </beans>
4.配置Spring配置檔案——spring-shiro.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:util="http://www.springframework.org/schema/util" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">
<bean id="shiroRealm" class="report.shiro.ShiroRealm">
<property name="cachingEnabled" value="false"/>
</bean>
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="shiroRealm"/>
</bean>
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager"/>
<property name="loginUrl" value="/index/login"/>
<property name="successUrl" value="/home/index"/>
<property name="unauthorizedUrl" value="/error/unauthorized"/>
<property name="filterChainDefinitions">
<value>
/index/login=anon
/** = authc
</value>
</property>
</bean>
<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
</beans>
5.控制器
package report.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping(value = "/index" )
public class HomeController {
@RequestMapping(value = "/login")
public String login() {
return "/index/login";
}
}
相關推薦
SpringMVC與Shiro的最簡單整合(不包含許可權管理)
1.Maven 引入依賴 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifa
spring boot 與 shiro的簡單整合使用
scheduler div turn map 用戶 ttr algorithm pen enc shrio官網:https://shiro.apache.org/ Apache Shiro是一個功能強大且易於使用的Java安全框架,可執行身份驗證,授權,加密和會話管理。借助
java呼叫資料庫Blob物件圖片的簡單方法(不需要Blob接收)
先介紹下blob: BLOB (binary large object),二進位制大物件,是一個可以儲存二進位制檔案的容器。 BLOB是一個大檔案,典型的BLOB是一張圖片或一個聲音檔案,由於它們的尺寸,必須使用特殊的方式來處理(例如:上傳、下載或者存放到一個數據庫)。 MySQL中
好消息:51CTO學院講師提現優化,線上支持填寫賬戶信息啦~(不包含機構哦)
提現優化線各位老師,51CTO學院講師提現中心優化,線上支持填寫賬戶信息啦~為了更高效準確的將課酬送達您的提現賬號,各位老師一定按照以下規範將各項信息補充完整哦:首先,講師的提現賬號,授課講師,註冊預留身份號 三方信息需保持一致,為了保障您的賬戶安全,不支持使用其他人的賬號進行提現哦~其次,學院的運營妹子及技
SpringMVC總結之自定義註解(例:許可權註解)
目錄 1.前言 2.自定義一個註解 3. 定義一個相應的攔截器 4.在springMVC配置檔案中進行配置 5.在springMVC controller中使用例項 1.前言 在開發過程中,我們想給控制器的某些方法進行控制訪問許可權,或者我們需要做方法呼叫日誌記錄
如何得到當前日期7個工作日日期(不包含週六日)
function getworkday(date,itervalByDay){ var date=new Date(); var millisceonds =date.getTi
列出某目錄下包含某字串的檔案以及個數(不包含的除外)
遞迴列出某目錄下包含某字串的Java檔案以及個數(不包含的除外)並按倒序排列 方法一: $ find . -name "*.java" | xargs grep -c "Auto" | awk -F ":" '($2>0) {print $0}' | sort
SpringMVC自定義攔截器(資源和許可權管理)
1.DispatcherServlet SpringMVC具有統一的入口DispatcherServlet,所有的請求都通過DispatcherServlet。 DispatcherServlet是前置控制器,配置在web.xml檔案中的。攔截匹配的請求,S
3種方法交換兩個整數(不建立臨時變數)+輸出一組資料最大值+簡單排序+最大公約數
交換兩個整數: 第一種: int a = 6; int b = 8; int t = 0; t = a; a = b; b = t; printf("a = %d b = %d\n", a, b); 後兩種不建立臨時變數 第二種: int a = 6; int
最簡單的基於FFmpeg的解碼器-純淨版(不包含libavformat)
=====================================================最簡單的基於FFmpeg的視訊播放器系列文章列表:=====================================================本文記錄一個更
java最簡單的並查集(不想交集合)以及杭電1272
並查集要有的一些屬性:value:表示當前值,指標:(不一定是指標)指向父節點。 還有一個屬性number:表示該樹存在的總個數。(也可以用深度表示)。我用小樹插在大樹上。 如果是普通數字表示的樹,可
SpringMVC與shiro的整合
好久沒有寫過部落格了,之前有好幾篇想記錄下來的,但是拖著拖著,就不了了之了。這次趁印象還很深刻,記錄下Springmvc與shiro的整合過程,方便以後學習。 首先,來看下pom.xml。 [html] view plain copy
Android ARouter:最簡單&粗暴(使用與原理)講解
1.前言 元件化或者模組化開發模式,已逐漸成為熱浪的形式,使用這些模式可以讓我們程式更容易的擴充套件、更方便的維護 更快捷的同步開發與更簡單的單獨除錯,而ARouter的出現就是讓元件間、模組間是實現完全的獨立。 ARouter是:阿里巴巴自研路由框架,主要
RabbitMQ(三):RabbitMQ與Spring Boot簡單整合
RabbitMQ是目前非常熱門的一款訊息中介軟體,不管是網際網路大廠還是中小企業都在大量使用。Spring Boot的興起,極大地簡化了Spring的開發,本文將使用Spring Boot與RabbitMQ進行簡單整合,實現生產和消費訊息。 配置 Spring Boot使用了這麼久,套路差不多摸清楚了。Spr
超簡單的VUE在線調試網站(不需搭建環境)
http html編輯器 手工 html todo src 2.0 .com 直觀 jsbin.com提供簡單、直觀、易用的vue調試功能,最大的好處不需要自己搭建環境就可以學習VUE1、打開http://jsbin.com/joxinumota/edit?html,js,
WebService--CXF與Spring的整合(jaxws:endpoint形式配置)
tid archetype 全路徑 systems hide onf -o hot conf 一、CXF與Spring整合(jaxws:endpoint形式配置) 工具要點:idea、maven 1.新建一個maven項目 <?xml version="1.0"
35歲:最美的年華(不是中年危機)
社會 朋友圈 我只 上市 告訴 投資 年齡 其它 奢侈 近期朋友圈總看到類似這樣的內容:中年危機某3*歲後男子**自殺 35歲的我正是此“危機”的黃金時間,只看到朋友圈裏“中年危機”標題還真嚇我一跳,連我也相信我自己步入“危機”了,當我冷靜下來思考發現:我現在是事業黃金期、
【劍指offer】59、隊列的最大值(不熟)
最大值 ber 元素 const 所有 刪除元素 windows 窗口 push_back 題目一 給定一個數組和滑動窗口的大小,請找出所有滑動窗口裏的最大值。例如,{2,3,4,2,6,2,5,1}以及窗口大小3,那麽存在6個滑動窗口,最大值分別為{4,4,6,6,6,5
springboot2.x簡單詳細教程--搜尋框架ElasticSearch介紹和整合(第十二章)
一、搜尋引擎知識和搜尋框架elasticsearch(es)基本介紹 1. 簡介:通過京東電商 介紹什麼是搜尋引擎,和開源搜尋框架ElasticSearch6.x新特性介紹 前言