今天我在配置 Spring Security 的OAuth是遇到了一个错误:
java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered?
需要注意一下几点:
1. 添加 spring-context 依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework.version}</version>
</dependency>
2. 注册 ContextLoaderListener
修改web.xml如下
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
注意,如果使用了Log4jConfigListener,需要把ContextLoaderListener放在后面。
3. 注意Spring Servlet 名称
参考OAuth 2 Developers Guide知道,我们需要在web.xml的securityFilterChain中添加如下配置:
<init-param>
<param-name>contextAttribute</param-name>
<param-value>org.springframework.web.servlet.FrameworkServlet.CONTEXT.spring</param-value>
</init-param>
特别需要注意的是:参数值最后的spring不是乱盖的,它要和SpringDispatchServlet的名称一致。
相关推荐
### MyEclipse 8.5 中 Spring Security 2.0.5 的简易实践 #### 一、背景介绍 本篇文章将详细介绍如何在 MyEclipse 8.5 中使用 Spring Security 2.0.5 来实现一个简单的权限管理示例。Spring Security 是一个功能...
Spring Security 3 配置和使用 Spring Security 是一个强大且灵活的安全框架,旨在保护基于 Java 的 Web 应用程序。Spring Security 3 是 Spring Security 框架的第三个主要版本,提供了许多新的功能和改进。下面...
根据提供的文件信息,我们可以深入探讨如何使用Maven和Spring Security框架来构建一个安全的应用程序。以下将详细解析各个部分,并介绍这些配置是如何协同工作来确保应用程序的安全性的。 ### Maven依赖 在项目中...
Spring 的监听器 ContextLoaderListener 的作用 ContextLoaderListener 是 Spring 框架中的一种监听器,它的主要作用是启动 Web 容器时,自动装配 ApplicationContext 的配置信息。它实现了 ServletContextListener...
Spring Security 是一个强大的安全框架,用于为 Java 应用程序提供认证和授权功能。它旨在保护Web应用程序免受各种安全威胁。在这个3.x版本的教程中,我们将深入了解如何配置和使用Spring Security。 首先,我们...
### Spring Security配置实例详解 #### 一、Spring Security简介与应用场景 Spring Security 是一个功能强大的安全框架,提供了全面的安全服务,支持认证、授权以及其他安全服务。它为开发人员提供了高度可定制化...
【Spring在Web项目中的应用】 ...同时,通过监听器`ContextLoaderListener`,可以在Web容器启动时自动加载Spring配置,确保在整个Web应用程序生命周期中,Service层和其他Spring管理的bean都可以正确地被创建和管理。
3. 配置WEB-INF下的web.xml文件,添加Spring的ContextLoaderListener监听器来初始化Spring上下文,并引入Spring Security的DelegatingFilterProxy过滤器,该过滤器是Spring Security的核心,负责调用实际的安全过滤...
`ContextLoaderListener`是Spring框架的一部分,它负责在Web应用启动时加载并管理Spring的应用上下文。这个监听器是通过在`web.xml`配置文件中声明来注册的。当Tomcat等应用服务器启动时,会读取`web.xml`并尝试创建...
Spring Security 在线用户统计实现详解 在本文中,我们将详细介绍如何基于 Spring Security 实现在线用户统计。在线用户统计是指在系统中实时统计当前活跃用户的数量,以便更好地监控和管理系统的使用情况。 ...
Spring Security 是一个强大的安全框架,主要用于Java应用的安全管理。在Spring Security 3版本中,有四种主要的使用方法,每种方法适用于不同的应用场景和需求。 1. **全配置文件方式**: 这是最基础的使用方式,...
这里,`contextConfigLocation` 参数指定了 Spring 配置文件的位置,`ContextLoaderListener` 用于启动 Spring 上下文,`DelegatingFilterProxy` 作为过滤器,将所有请求委托给 Spring Security 进行处理。...
在Java Web开发中,`org.springframework.web.context.ContextLoaderListener` 是Spring框架的一部分,它负责初始化一个Web应用程序的Spring上下文。这个监听器是基于Servlet容器(如Tomcat、Jetty等)的,当Web应用...
在这个例子中,我们定义了两个关键的元素:`ContextLoaderListener`负责加载Spring应用上下文,以及`DelegatingFilterProxy`,这是一个Spring过滤器,用于代理Spring Security的过滤链。`springSecurityFilterChain`...
【Spring Security 框架详解】 Spring Security 是一个强大的、高度可定制的 Java 安全框架,用于构建安全的企业级应用程序。它取代了之前的 Acegi 安全框架,并且提供了许多增强的功能,如简化配置、OpenID 支持、...
Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架,用于保护Java应用程序。它最初被称为Acegi Security,后来在Spring 2.0版本后被重命名为Spring Security。本教程将引导你入门Spring Security 3...
在`web.xml`中,配置前端控制器DispatcherServlet和ContextLoaderListener: ```xml <servlet-name>dispatcher <servlet-class>org.springframework.web.servlet.DispatcherServlet <param-name>...
Spring Security 是一个强大的安全框架,用于为Java应用提供安全控制。在Spring Security 3.1中,有四种使用方法来管理用户、权限和资源。这些方法涵盖了从完全依赖XML配置到利用数据库存储用户和权限的各种情况。 ...
在这个例子中,我们看到`ContextLoaderListener`用于初始化Spring应用上下文,`DelegatingFilterProxy`作为Spring Security的过滤器链的代理。`springSecurityFilterChain`过滤器映射到所有的URL,这意味着Spring ...
Acegi,现已被Spring Security 2.0完全取代,是Java应用程序的一个安全框架,主要用于实现企业级应用的安全控制。这个框架提供了丰富的功能,包括用户登录提示、身份验证、权限检查、访问控制、会话管理以及与各种...