1. 程式人生 > >SpringMVC與Shiro的最簡單整合(不包含許可權管理)

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配置

<?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>
3.配置Spring配置檔案 ——spring-main.xml
<?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";
	}
	
}



相關推薦

SpringMVCShiro簡單整合包含許可權管理

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:表示該樹存在的總個數。(也可以用深度表示)。我用小樹插在大樹上。 如果是普通數字表示的樹,可

SpringMVCshiro整合

好久沒有寫過部落格了,之前有好幾篇想記錄下來的,但是拖著拖著,就不了了之了。這次趁印象還很深刻,記錄下Springmvc與shiro的整合過程,方便以後學習。 首先,來看下pom.xml。 [html] view plain copy

Android ARouter:簡單&粗暴使用原理講解

1.前言 元件化或者模組化開發模式,已逐漸成為熱浪的形式,使用這些模式可以讓我們程式更容易的擴充套件、更方便的維護 更快捷的同步開發與更簡單的單獨除錯,而ARouter的出現就是讓元件間、模組間是實現完全的獨立。 ARouter是:阿里巴巴自研路由框架,主要

RabbitMQ:RabbitMQSpring 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--CXFSpring的整合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新特性介紹         前言