`

springMvc和shiro整合,shiro的realm不能自动注入的问题

阅读更多

最近研究shiro,一开头就遇到了大困难,调试了3小时。
问题描述如下:shiro和spring mvc整合,shiro自定义了realm。
其中自定义的realm里面居然不能使用@Autowired注解标签注入相关的用户service。
百思不得其解,一项项跟踪,发现原来shiro 自定义realm的认证阶段属于filter,当时的spring bean还没有读取进来。

最后通过配置web.xml文件,把spring mvc的xml提高一点优先级,才最终解决了这个问题。

 

	<!-- 配置spring容器监听器 -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/classes/applicationContext-shiro.xml,
			/WEB-INF/classes/spring-mvc.xml
		</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

<!-- spring web程序的第一层控制器, 负责处理程序请求 -->
	<servlet>
		<servlet-name>springDispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:spring-mvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
       <servlet-mapping>
		<servlet-name>springDispatcherServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

 

注意红色这一项,我把springmvc的配置文件提上去,放到contextConfigLocation中去加载。

这样,就能在filter阶段注入其它已经注册了的bean。

 

具体参考了这篇文章:

http://blog.csdn.net/godha/article/details/13025099

 

分享到:
评论

相关推荐

    SpringMVC整合Shiro的完整示例代码下载

    整合SpringMVC和Shiro的核心目标是利用Shiro的强大安全功能来保护SpringMVC应用程序中的Controller和视图资源。以下是整合的关键步骤: 1. **依赖引入**:在项目中添加SpringMVC和Shiro的依赖库。确保pom.xml文件中...

    springMVC整合shiro框架

    SpringMVC 和 Shiro 框架的整合是企业级Web开发中常见的一种安全控制解决方案。SpringMVC 是一个强大的MVC(Model-View-Controller)框架,负责处理请求、展示视图以及业务逻辑;而 Apache Shiro 则是一个轻量级的...

    spring+springMVC+shiro 完美例子

    文档"apache_shiro入门.docx"可能包含了Shiro的基本概念和用法介绍,例如Realm(认证和授权信息的数据源)、Subject(与当前安全操作相关的主体)、Session管理以及过滤器链的配置等内容。通过阅读这份文档,开发者...

    shirodemo整合spring+springmvc+shiro

    本文将详细介绍如何将Shiro与Spring、SpringMVC进行整合,构建一个高效的J2EE安全框架,以实现对用户身份验证和权限控制。 首先,让我们理解这三个组件的角色: 1. **Apache Shiro**:Shiro的核心在于它提供了一套...

    springmvc整合shiro

    这样,当请求到达时,Shiro会自动处理认证和授权。 ```xml &lt;filter-name&gt;shiroFilter &lt;filter-class&gt;org.springframework.web.filter.DelegatingFilterProxy &lt;param-name&gt;targetFilterLifecycle ...

    cas结合 springmvc shiro 单点登录

    本项目是关于如何将CAS(Central Authentication Service)与SpringMVC和Shiro结合实现SSO的实践示例。 首先,我们来了解一下三个主要组件: 1. **CAS**: CAS是一个开源的身份验证框架,主要用于处理用户身份验证...

    springMVC+shiro简单demo

    SpringMVC 是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)架构的 Web 应用程序,而 Apache Shiro 则是一个强大且易用的安全管理框架,用于处理认证、授权、会话管理和加密等安全问题。...

    shiro+springmvc整合

    Apache Shiro是一个强大且易用的Java安全框架,提供了身份验证、授权、加密和会话管理功能,简化了处理这些问题的过程。本文将深入探讨如何将Shiro与Spring MVC进行整合,实现一个简单的用户权限管理系统。 首先,...

    springmvc+shiro jar

    在整合 Spring MVC 和 Shiro 时,需要正确配置它们的依赖关系,比如在Spring的配置文件中添加Shiro的过滤器链,以及创建自定义的 Realm 来连接数据库进行用户验证。同时,还需要配置 Shiro 的权限规则,以便实现安全...

    SPRINGMVC+SHIRO+MYSQL

    Shiro的常用组件有SecurityManager、Subject、Realm等,其中 Realm是连接应用和安全数据源的桥梁,通常需要自定义实现以对接MySQL数据库。 **三、MySql数据库** MySQL是一款开源、关系型数据库管理系统,广泛应用...

    SpringMVC+Shiro权限管理.

    3. **`Shiro-MyShiro-权限认证,登录认证层`**:这部分包含了自定义的ShiroRealm类,用于实现用户认证逻辑。 4. **`Shiro-applicationContext-shiro.xml`**:Spring配置文件,用于整合Shiro与SpringMVC框架。 5. **...

    SpringMVC+shiro项目实例

    这个"SpringMVC+Shiro项目实例"提供了一个完整的Web应用安全框架,通过整合SpringMVC的MVC架构和Shiro的安全管理,实现了用户登录、权限控制和会话管理等功能。H2数据库脚本的加入使得开发者可以快速搭建和测试环境...

    SpringMVC+Apache Shiro+JPA(hibernate)整合

    而`ShiroSpringDemo`可能是一个更基础的版本,仅实现了SpringMVC和Shiro的整合,不涉及JPA和Hibernate。 总的来说,SpringMVC、Apache Shiro和JPA(Hibernate)的整合能够提供一个强大的Web应用安全架构,既满足了...

    springmvc+shiro 框架搭建

    在整合SpringMVC和Shiro时,你需要做以下工作: 1. 引入Shiro的相关依赖:在项目中添加Shiro的Maven或Gradle依赖,确保可以使用其提供的类和接口。 2. 配置Shiro:创建一个Shiro的配置类,设置Realm(域)以处理...

    spring、springmvc、shiro集成空框架

    Spring、SpringMVC和Shiro是Java开发中常用的三大框架,它们在企业级应用开发中起着关键作用。Spring作为核心容器,管理着应用的组件和依赖;SpringMVC是Spring框架的一部分,专用于构建Web应用程序的前端控制器;而...

    SpringMVC+Shiro+MongoDB基础框架

    3. **Shiro配置**:配置Shiro的安全设置,包括Realm(认证和授权信息源)、SecurityManager、过滤器链等,确保Shiro能够正确地处理安全事务。 4. **MongoDB配置**:配置MongoDB的数据源,包括连接URL、数据库名、...

    springmvc shiro

    - 登录与登出:通过Shiro的Subject接口实现用户的登录和登出功能,Shiro会自动处理令牌校验、登录失败处理等。 4. 无SQL配置 "亲测无sql"可能指的是Shiro配置中没有直接涉及SQL查询。这可能是通过静态数据或者...

    springMVC+mybatis+shiro+redis 项目整合demo

    这个"springMVC+mybatis+shiro+redis 项目整合demo"就是一个实例,展示了如何将这些技术集成到一个项目中,以实现高效的数据处理、用户认证授权和缓存管理。 首先,`SpringMVC` 是 Spring 框架的一部分,它是一个...

    shiro+ springMVC + Redis+mysql 实现 单点登录

    "Shiro+SpringMVC+Redis+MySQL实现单点登录"是一个典型的系统安全架构,它整合了多个技术组件来构建一个高效、可靠的单点登录(Single Sign-On, SSO)解决方案。以下是关于这个主题的详细知识点: 1. **Apache ...

    SpringMvc整合mybatis和shiro权限管理系统

    本项目名为“SpringMvc整合mybatis和shiro权限管理系统”,旨在实现一个基于SpringMVC、MyBatis、Maven、EasyUI和Shiro的全面解决方案。下面将详细介绍这些技术及其整合过程中的关键知识点。 首先,**SpringMVC** ...

Global site tag (gtag.js) - Google Analytics