1. 程式人生 > >Shiro 和SSM的整合配置

Shiro 和SSM的整合配置

將Shiro和Spring SpringMVC Mybatis 整合

配置檔案:

pom.xml(相關依賴)

<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>
org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <
artifactId>
javax.servlet-api</artifactId> <version>4.0.0</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.ant/ant --> <dependency> <groupId>org.apache.ant</groupId> <
artifactId>
ant</artifactId> <version>1.9.6</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.6.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.11</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.3</version> </dependency> <!-- https://mvnrepository.com/artifact/taglibs/standard --> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>org.ow2.asm</groupId> <artifactId>asm</artifactId> <version>5.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.5.4</version> <scope>test</scope> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.3</version> </dependency> <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 --> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <!-- https://mvnrepository.com/artifact/aopalliance/aopalliance --> <dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.0</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.6.RELEASE</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.4.0</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.0</version> </dependency>

Spring-Mybatis.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	 http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-4.2.xsd
		http://www.springframework.org/schema/tx
		http://www.springframework.org/schema/tx/spring-tx-4.2.xsd">
	
			
	<!--資料庫連線配置-->
	<context:property-placeholder local-override="true" location="classpath:jdbc.properties"/>
		
	<!--開啟包掃描-->
	<context:component-scan base-package="com.easytop.shirossm"/>
    <!--<aop:aspectj-autoproxy proxy-target-class="true"></aop:aspectj-autoproxy>-->
	
    <!--將連線池注入到Spring中-->
	<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="jdbcUrl" value="${URL}"/>
		<property name="driverClass" value="${ClassForName}"/>
		<property name="user" value="${UserName}"/>
		<property name="password" value="${PassWord}"/>
	</bean>
	
	 <!-- spring和MyBatis完美整合,不需要mybatis的配置對映檔案 -->  
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"/>
		<!--掃描mybatis配置檔案-->
		<property name="configLocation" value="classpath:Mybatis.xml"> </property>
	</bean>
	
	 <!-- DAO介面所在包名,Spring會自動查詢其下的類 -->  
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.easytop.shirossm.dao"/>
	</bean>
	
	<!--開啟事務註解-->


	<tx:annotation-driven transaction-manager="transactionManager"/>

	<!--配置事務管理器-->
	<bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"/>
	</bean>




</beans>

Spring-MVC.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-3.1.xsd
		http://www.springframework.org/schema/mvc
		http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

    <!-- 自動掃描該包,使SpringMVC認為包下用了@controller註解的類是控制器 -->
    <context:component-scan base-package="com.easytop.shirossm"/>
    <!--開啟springMVC的註解-->
    <mvc:annotation-driven/>

    <!--載入靜態資源-->
    <mvc:default-servlet-handler/>

    <!-- 配置freeMarker的模板路徑 -->
     <!--freemarker檢視解析器-->
    <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <property name="templateLoaderPath" value="/WEB-INF/ftl/"/>
        <property name="defaultEncoding" value="UTF-8"/>
    </bean>

    <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
        <property name="suffix" value=".ftl"/>
        <property name="contentType" value="text/html;charset=UTF-8"/>
    </bean>


    <!--&lt;!&ndash;檢視解析器&ndash;&gt;-->
    <!--<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">-->
        <!--&lt;!&ndash;訪問路徑的字首&ndash;&gt;-->
        <!--<property name="prefix" value="/WEB-INF/pages/"/>-->
        <!--&lt;!&ndash;訪問路徑的字尾&ndash;&gt;-->
        <!--<property name="suffix" value=".html"/>-->
    <!--</bean>-->


    <mvc:view-controller path="/pages/user" view-name="user"/>
    <mvc:view-controller path="/pages/role" view-name="role"/>
    <mvc:view-controller path="/pages/perms" view-name="perms"/>


</beans>

Shiro.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- shiro過濾器⼯⼚物件,該id必須和web.xml中的filter名字⼀致 -->
    <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">

        <property name="securityManager" ref="securityManager"/>

        <property name="loginUrl" value="/loginController"/>

        <property name="successUrl" value="/WEB-INF/pages/index.html"/>

        <property name="unauthorizedUrl" value="/WEB-INF/jsp/error.jsp"/>

        <property name="filterChainDefinitions">
            <value>
                ##ini
                ##配置,訪問admin/下所有的地址,需要驗證,和roles=admin的⻆ /user/* = /user/add,/user/del
                ##
                /login.html=anon

                ## 使用者新增
                /jsp/user/add = authc ,perms[user:add]
            </value>
        </property>
    </bean>

    <bean id="realm" class="com.easytop.shirossm.service.impl.Realm"></bean>
    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
        <property name="realm" ref="realm"/>
    </bean>

</beans>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID"
         version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         
            
           

相關推薦

Shiro SSM整合配置

將Shiro和Spring SpringMVC Mybatis 整合 配置檔案: pom.xml(相關依賴) <dependency> <groupId>junit</groupId> <arti

springmvcjson整合配置方法

repl bin blank converter htm spring配置 tpm port 三方 配置方法一 1、導入第三方的jackson包,jackson-mapper-asl-1.9.7.jar和jackson-core-asl-1.9.7.jar。 2、spri

Shiro(3)-ssm整合shiro

jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mave

ssm整合配置之web.xml配置

1.啟動spring容器的載入配置   這個是一切配置的開始,本質是需要一個監聽器來在啟動的時候對我們的配置 載入一個 spring 容器 ,我們可以使用快捷鍵來直接生成配置, 其中classpath需要我們去定義指定   applicationContext.xml  &nb

ssm整合配置之springmvc配置

springmvc包含的是我們的severlet層也就是我們的控制器 C  ,這層主要是負責資料的接受和轉發,還有頁面跳轉的操作,所以我們需要在xml裡去進行配置操作,首先 1.我們應該先開啟掃描器,來掃描我們控制器 這樣,控制器裡請求轉發等註解才會生效 include-filter是

ssm整合配置之spring配置

  下面我們就需要看一下spring的基本配置了,spring的配置是一個和業務相關的配置,比如,資料來源,事務的控制等操作, 1,首先我們先配置資料來源     2,,因為這個配置和業務邏輯有不能分離的關係,所以我們還必須配置一個掃描器 ,來操作掃描業務的檔案

SSM整合配置(Spring+Spring MVC+Mybatis)

一、配置準備    通過Maven工程,在eclipse中整合SSM,並在Tomcat伺服器上執行     在進行配置前,先理清楚要配置哪些檔案,如圖,除web.xml外,其餘三個配置檔名稱均可自定義:    如圖所示,一共有四個需要手動配置的檔案:   1、web.

HibernateSpring整合配置

工具:myeclipse2014 Spring版本:3.1 Hibernate版本:3.3 文章介紹了hibernate和spring的配置,並將兩個框架整合起來,自己寫了測試程式碼測試是否整合成功。 配置hibernate和spring: 先配置hibe

maven下的ssm整合配置步驟

maven下的ssm整合配置步驟 在此之前大部分專案都是使用ssh框架,前幾年爆出struts存在致命bug,Hibernate的封裝深度較高,較mybatis效率低等弊端,現在ssh貌似是在漸漸的退出歷史舞臺,而取而代之的自然是現在用的最多的ssm框架。接下來的內容就是小

SSM整合配置

SSM介紹 SSM 是 SpringMVC 做控制器(controller),Spring 管理各層的元件,MyBatis 負責持久化層。 Spring容器配置 <!-- 檔名稱be

SSM整合(配置檔案)

Spring配置檔案:applicationContext.xml <pre style="background-color:#101020;color:#d0d0d0;font-family:'Consolas';font-size:15.0pt;"&g

Idea 建立分散式 Maven 專案步驟 SSM基本配置

Idea (2017.2版) 建立分散式 Maven 專案步驟 & SSM(SpringMVC + Spring + MyBatis) 基本配置;分散式專案主要用於比較大型的、多人合作的專案,小專案可能就沒必要這樣了。前言:CSDN上看到一篇高閱讀量的介紹Idea 分

shiroSpring整合使用註解時沒有執行realm的doGetAuthorizationInfo回撥方法的解決

在使用Shiro框架進行專案整合時,使用註解在使用Shiro框架進行專案整合時,使用註解在使用Shiro框架進行專案整合時,使用註解@RequiresPermissions為方法提供是需要的許可權,但是根本沒有進行驗證,後面發現在自己的Realm中只執行了doGetAuth

使用maven實現ssm整合配置檔案

1.引入專案依賴的jar包(pop.xml) 包含:spring、springmvc、mybatics、Mybatis整和Spring的適配包、資料庫連線池、mysql驅動、單元測試 (注意版本問題!!!) 參考網址:https://mvnrepository.com/   &nbs

Apache Shiro Web應用整合-配置

將Shiro  整合到任何 Web  應用程式的最簡單的方法是在 web.xml  中配置 ContextListener  和 Filter ,來使 Shiro 知道如何讀取 Shiro 的 INI  配置檔案。 注意:Spring  框架使用者將不執行此設定。如果你使

shiro-spring整合(三)

整合 Spring •      加 入 Spring 和 Shiro 的 maven依賴 •       配 置 Spring 及 SpringMVC •  參 照 :1.3.2\shiro-root-1.3.2-source-release\shiro-root-1.3

SSM整合Shiro,實現系統的認證管理許可權管理?

資料: 一、首先匯入依賴: <!--spring的版本號--> <spring-version>4.3.13.RELEASE</spring-version> <!--mybatis的版本號

SSM整合兩種配置方式——xmljavaConfig,新增分頁外掛pageHelper通用Mapper

Spring MVC配置 1. xml方式 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"  

maven專案中SSM+Shiro整合配置中,在有SpringMVC+MyBatis配置整合shiro配置步驟

      最近在做SSM(SpringMVC+Shiro+MyBatis)整合的一個專案,對於shiro的配置不是特別熟練,於是想要寫下來,加深一下印象。在有SpringMVC+MyBatis配置的基礎上整合shiro:       首先進入shiro的官方網站(http

ssm框架整合配置文件

web-inf qwidget apps 連接 client undle style med ide <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframew