`
cooperay
  • 浏览: 215996 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Shiro SpringMvc Spring整合

 
阅读更多

首先配置Web.xml filter要放到最上

<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>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
  </filter-mapping>

 

spring-mvc.xml  如果将spring.xml中的配置信息配置到spring-mvc文件中将会出现找不到beanName异常

 

<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">    
	    <property name="exceptionMappings">    
	        <props>    
	            <prop key="org.apache.shiro.authz.UnauthorizedException">error/unauthorized</prop>  
	        </props>    
	    </property>    
	</bean> 
    
    
       <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
		<property name="securityManager" ref="securityManager"/>
		</bean>
		
		
      <!-- AOP式方法级权限检查 -->
    <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor">
         <property name="proxyTargetClass" value="true" /> 
    </bean>
    

    <!-- 保证实现了Shiro内部lifecycle函数的bean执行    -->
    <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor" /> 

 

spring.xml   如果将spring-mvc.xml配置文件中的信息配置到spring.xml中将会出现注解失效的情况,因为会造成springmvc扫描不到注解

  

<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
			<property name="realm" ref="ShiroRealm" />
			<!-- <property name="sessionManager" ref="sessionManager"/> -->
					<!-- 使用下面配置的缓存管理器 -->
			<!-- <property name="cacheManager" ref="cacheManager" /> -->
		</bean>
		
		<!-- 項目自定义的Realm -->
	    <bean id="ShiroRealm" class="com.iyspace.base.shiro.MyRealm" ></bean>
		
		<!-- Shiro Filter -->
		<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
			<property name="securityManager" ref="securityManager" />		
			<property name="loginUrl" value="/login/loginPage.do" />		
			<!-- <property name="successUrl" value="/main.do" />	 -->
			<!--  <property name="unauthorizedUrl" value= />-->
				<!-- anon:匿名拦截器,即不需要登录即可访问;一般用于静态资源过滤
            		 authc:如果没有登录会跳到相应的登录页面登录
            		 user:用户拦截器,用户已经身份验证/记住我登录的都可 -->
			<property name="filterChainDefinitions">
			<value>
	           	/login/*  = anon
	           	/*		= authc
				</value>
			</property>
		</bean>

 

 

 

 

 

分享到:
评论

相关推荐

    shirodemo整合spring+springmvc+shiro

    《整合Shiro、Spring与SpringMVC:打造高效安全控制框架》 在现代Java Web开发中,安全性是不可或缺的一部分。Apache Shiro是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,使得开发者能够...

    shiro springmvc mybatis bootstarp maven 整合框架(带完整权限数据库)

    该整合框架是一个基于Java的Web应用开发框架,它将Apache Shiro、SpringMVC、MyBatis和Bootstrap以及Maven等多个流行技术集成为一体,旨在提供一个高效且易用的开发环境。下面将分别对这些关键技术进行详细解释。 1...

    Shiro+SpringMVC 示例

    Shiro能够与SpringMVC(Spring 框架的一部分,用于构建MVC架构的Web应用)紧密集成,共同为Web应用提供全面的安全解决方案。 1. **Shiro核心概念**: - **认证**:验证用户的身份。在Shiro中,可以通过Subject对象...

    spring+springMVC+shiro 完美例子

    总之,这个"spring+springMVC+shiro 完美例子"是一个很好的学习资源,帮助开发者深入理解如何在Java Web应用中集成和使用这些强大的框架,实现安全、高效的权限管理。通过分析和实践这个例子,开发者不仅可以提升...

    spring、springmvc、shiro集成空框架

    总的来说,Spring、SpringMVC和Shiro的集成为空框架提供了一个坚实的基础,开发者可以在此基础上快速搭建企业级应用,提高开发效率并保证系统的安全性。理解这三个框架的核心概念和它们之间的协作方式,对于Java Web...

    shiro-springmvc-gradle整合

    4. **Shiro-Spring整合**:通过`ShiroFilterFactoryBean`和`ShiroConfig`配置类,将Shiro与Spring容器集成。这样,我们可以利用Spring的依赖注入来管理Shiro的组件。 5. **安全控制**:在控制器方法上添加注解,如`...

    shiro+springmvc整合

    在Spring MVC中集成Shiro,我们可以利用Shiro的Filter机制,通过配置Web应用的过滤链来实现安全控制。以下是整合步骤: 1. **添加依赖**:在项目中引入Shiro和Spring MVC的依赖库。通常在Maven或Gradle的配置文件中...

    shiro+SpringMVC+Spring+mybatis+maven 整合项目最新

    本项目整合了多个流行的技术栈,包括Shiro、SpringMVC、Spring、MyBatis和Maven,这些组件共同构成了一个强大的开发基础。以下是对这些技术及其整合应用的详细说明: **Shiro**: Apache Shiro是一个轻量级的安全...

    Shiro+SpringMVC+Spring集成

    标题 "Shiro+SpringMVC+Spring集成" 涉及的是在Web开发中整合Apache Shiro、Spring MVC和Spring框架的过程。这三个组件都是Java Web开发中的重要工具,Shiro负责安全认证和授权,Spring MVC处理MVC模式的实现,而...

    shiro_springmvc_demo

    8. **Spring整合**: - Shiro可以通过Spring的依赖注入(DI)和AOP来增强其功能。 - 使用Spring的`DelegatingFilterProxy`将Shiro Filter注册为Spring Bean。 9. **自定义扩展**: - 可以根据需求自定义 Realm ...

    shiro+spring mvc集成的实例源码

    Spring MVC 中,Shiro 可以通过 Spring 的依赖注入(DI)和面向切面编程(AOP)特性进行集成。首先,需要在 Spring 配置文件中声明 Shiro 的 Filter,并配置对应的 FilterChainDefinitionSource,以定义哪些 URL ...

    shiro+spring整合,内含建表sql

    总的来说,Spring、Shiro和SpringMVC的整合能够帮助我们构建出一个强大、安全且易于维护的Web应用。通过合理地利用这三大框架,我们可以高效地处理用户认证、授权,同时保证代码的可扩展性和可测试性。在"shirodemo...

    基于shiro、springmvc、mybatis权限管理系统

    基于Shiro、SpringMVC、MyBatis的权限管理系统是一个典型的Java Web应用架构,通过合理的职责划分和组件整合,可以构建出稳定、安全、易于维护的权限管理解决方案。这个系统不仅可以用于企业内部的权限控制,也可以...

    cas结合 springmvc shiro 单点登录

    总之,这个项目为我们提供了一个使用CAS、SpringMVC和Shiro实现SSO的实例,对于理解和掌握这些技术的集成以及SSO的工作原理非常有帮助。在实际开发中,可以根据项目的具体需求进行调整和优化,以实现更高效、更安全...

    springmvc+shiro+spring+hibernate+redis缓存管理示例

    本示例项目"springmvc+shiro+spring+hibernate+redis缓存管理示例"提供了一个全面的框架整合实例,它将几个关键的技术组件融合在一起,旨在帮助开发者实现更优的性能和安全性。以下是关于这些技术组件及其在项目中的...

    shiro+springmvc整合demo

    Apache Shiro 和 SpringMVC 的整合是Web应用中常见的安全框架组合,主要用于实现用户认证、授权和会话管理。在本示例中,"shiro+springmvc整合demo" 提供了一个基于SpringMVC和Apache Shiro的完整演示,同时结合了...

    springmvc spring mybatis shiro 整合之个人博客

    在本项目中,"springmvc spring mybatis shiro 整合之个人博客"是一个基于Java技术栈构建的个人博客系统,它集成了SpringMVC、Spring、MyBatis和Shiro四大核心框架。下面将详细解析这四个技术以及它们在个人博客系统...

    SpringMVC精品资源--Maven + Mysql + Shiro + SpringMVC + Spring.zip

    【SpringMVC精品资源——Maven、Mysql、Shiro、SpringMVC与Spring整合详解】 在当前的Java Web开发领域,SpringMVC框架因其强大的功能和灵活性而被广泛使用。这个压缩包“SpringMVC精品资源--Maven + Mysql + Shiro...

    springMVC+hibernate+spring+shiro整合例子

    整合SpringMVC、Hibernate、Spring和Shiro,主要涉及以下几个步骤: 1. **配置SpringMVC**:设置DispatcherServlet,配置ViewResolver,定义Controller,以及Model-View-Controller的交互规则。 2. **配置Hibernate...

    springMVC整合shiro框架

    - 代码简洁:Shiro 的 API 简单易用,与 SpringMVC 结合后,可以在 Spring 容器中管理 Shiro 组件,降低复杂度。 - 灵活性高:Shiro 支持多种认证和授权策略,可以根据项目需求进行定制。 - 低侵入性:Shiro 不...

Global site tag (gtag.js) - Google Analytics