首先配置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>
相关推荐
《整合Shiro、Spring与SpringMVC:打造高效安全控制框架》 在现代Java Web开发中,安全性是不可或缺的一部分。Apache Shiro是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,使得开发者能够...
该整合框架是一个基于Java的Web应用开发框架,它将Apache Shiro、SpringMVC、MyBatis和Bootstrap以及Maven等多个流行技术集成为一体,旨在提供一个高效且易用的开发环境。下面将分别对这些关键技术进行详细解释。 1...
Shiro能够与SpringMVC(Spring 框架的一部分,用于构建MVC架构的Web应用)紧密集成,共同为Web应用提供全面的安全解决方案。 1. **Shiro核心概念**: - **认证**:验证用户的身份。在Shiro中,可以通过Subject对象...
总之,这个"spring+springMVC+shiro 完美例子"是一个很好的学习资源,帮助开发者深入理解如何在Java Web应用中集成和使用这些强大的框架,实现安全、高效的权限管理。通过分析和实践这个例子,开发者不仅可以提升...
总的来说,Spring、SpringMVC和Shiro的集成为空框架提供了一个坚实的基础,开发者可以在此基础上快速搭建企业级应用,提高开发效率并保证系统的安全性。理解这三个框架的核心概念和它们之间的协作方式,对于Java Web...
4. **Shiro-Spring整合**:通过`ShiroFilterFactoryBean`和`ShiroConfig`配置类,将Shiro与Spring容器集成。这样,我们可以利用Spring的依赖注入来管理Shiro的组件。 5. **安全控制**:在控制器方法上添加注解,如`...
在Spring MVC中集成Shiro,我们可以利用Shiro的Filter机制,通过配置Web应用的过滤链来实现安全控制。以下是整合步骤: 1. **添加依赖**:在项目中引入Shiro和Spring MVC的依赖库。通常在Maven或Gradle的配置文件中...
本项目整合了多个流行的技术栈,包括Shiro、SpringMVC、Spring、MyBatis和Maven,这些组件共同构成了一个强大的开发基础。以下是对这些技术及其整合应用的详细说明: **Shiro**: Apache Shiro是一个轻量级的安全...
标题 "Shiro+SpringMVC+Spring集成" 涉及的是在Web开发中整合Apache Shiro、Spring MVC和Spring框架的过程。这三个组件都是Java Web开发中的重要工具,Shiro负责安全认证和授权,Spring MVC处理MVC模式的实现,而...
8. **Spring整合**: - Shiro可以通过Spring的依赖注入(DI)和AOP来增强其功能。 - 使用Spring的`DelegatingFilterProxy`将Shiro Filter注册为Spring Bean。 9. **自定义扩展**: - 可以根据需求自定义 Realm ...
Spring MVC 中,Shiro 可以通过 Spring 的依赖注入(DI)和面向切面编程(AOP)特性进行集成。首先,需要在 Spring 配置文件中声明 Shiro 的 Filter,并配置对应的 FilterChainDefinitionSource,以定义哪些 URL ...
总的来说,Spring、Shiro和SpringMVC的整合能够帮助我们构建出一个强大、安全且易于维护的Web应用。通过合理地利用这三大框架,我们可以高效地处理用户认证、授权,同时保证代码的可扩展性和可测试性。在"shirodemo...
基于Shiro、SpringMVC、MyBatis的权限管理系统是一个典型的Java Web应用架构,通过合理的职责划分和组件整合,可以构建出稳定、安全、易于维护的权限管理解决方案。这个系统不仅可以用于企业内部的权限控制,也可以...
总之,这个项目为我们提供了一个使用CAS、SpringMVC和Shiro实现SSO的实例,对于理解和掌握这些技术的集成以及SSO的工作原理非常有帮助。在实际开发中,可以根据项目的具体需求进行调整和优化,以实现更高效、更安全...
本示例项目"springmvc+shiro+spring+hibernate+redis缓存管理示例"提供了一个全面的框架整合实例,它将几个关键的技术组件融合在一起,旨在帮助开发者实现更优的性能和安全性。以下是关于这些技术组件及其在项目中的...
Apache Shiro 和 SpringMVC 的整合是Web应用中常见的安全框架组合,主要用于实现用户认证、授权和会话管理。在本示例中,"shiro+springmvc整合demo" 提供了一个基于SpringMVC和Apache Shiro的完整演示,同时结合了...
在本项目中,"springmvc spring mybatis shiro 整合之个人博客"是一个基于Java技术栈构建的个人博客系统,它集成了SpringMVC、Spring、MyBatis和Shiro四大核心框架。下面将详细解析这四个技术以及它们在个人博客系统...
【SpringMVC精品资源——Maven、Mysql、Shiro、SpringMVC与Spring整合详解】 在当前的Java Web开发领域,SpringMVC框架因其强大的功能和灵活性而被广泛使用。这个压缩包“SpringMVC精品资源--Maven + Mysql + Shiro...
整合SpringMVC、Hibernate、Spring和Shiro,主要涉及以下几个步骤: 1. **配置SpringMVC**:设置DispatcherServlet,配置ViewResolver,定义Controller,以及Model-View-Controller的交互规则。 2. **配置Hibernate...
- 代码简洁:Shiro 的 API 简单易用,与 SpringMVC 结合后,可以在 Spring 容器中管理 Shiro 组件,降低复杂度。 - 灵活性高:Shiro 支持多种认证和授权策略,可以根据项目需求进行定制。 - 低侵入性:Shiro 不...