Spring Security是Spring Framework的应用程序安全解决方案。 Spring安全性可用于保护URL和方法调用。它广泛用于保护独立的Web应用程序,portlet和越来越多的REST应用程序。
异常发送上下文初始化事件到类org.springframework.web.context.ContextLoaderListener的监听器实例
我正在尝试实现 Spring Security 登录,并且尝试过类似的操作: spring-security.xml: 我正在尝试实现 Spring Security 登录,并且我尝试过类似的操作: spring-security.xml: <beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans="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-3.1.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd"> <http auto-config="true" use-expressions="true"> <intercept-url pattern="/login" access="permitAll" /> <intercept-url pattern="/logout" access="permitAll" /> <intercept-url pattern="/accessdenied" access="permitAll" /> <intercept-url pattern="/**" access="hasRole('ROLE_USER')" /> <form-login login-page="/login" default-target-url="/list" authentication-failure-url="/accessdenied" /> <logout logout-success-url="/logout" /> </http> <authentication-manager alias="authenticationManager"> <authentication-provider> <user-service> <user name="lokesh" password="password" authorities="ROLE_USER" /> </user-service> </authentication-provider> </authentication-manager> </beans:beans> web.xml: <servlet> <servlet-name>spring</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring-servlet.xml, /WEB-INF/spring-security.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- Spring Security --> <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 我正在使用 spring 版本:3.1,我在上面的 xml 文件中收到错误。 错误: May 5, 2014 12:33:47 PM org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/spring-security.xml]; nested exception is java.lang.NoClassDefFoundError: org/springframework/security/web/util/AntPathRequestMatcher at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:412) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:522) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:377) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:278) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:578) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: java.lang.NoClassDefFoundError: org/springframework/security/web/util/AntPathRequestMatcher at org.springframework.security.config.http.MatcherType.<clinit>(MatcherType.java:22) at org.springframework.security.config.http.HttpConfigurationBuilder.<init>(HttpConfigurationBuilder.java:105) at org.springframework.security.config.http.HttpSecurityBeanDefinitionParser.createFilterChain(HttpSecurityBeanDefinitionParser.java:116) at org.springframework.security.config.http.HttpSecurityBeanDefinitionParser.parse(HttpSecurityBeanDefinitionParser.java:81) at org.springframework.security.config.SecurityNamespaceHandler.parse(SecurityNamespaceHandler.java:88) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1414) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1404) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:184) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) ... 28 more May 5, 2014 12:33:47 PM org.apache.catalina.core.StandardContext start SEVERE: Error listenerStart May 5, 2014 12:33:47 PM org.apache.catalina.core.StandardContext start SEVERE: Context [/HRportal] startup failed due to previous errors May 5, 2014 12:33:47 PM org.apache.catalina.core.ApplicationContext log INFO: Closing Spring root WebApplicationContext May 5, 2014 12:33:47 PM org.apache.catalina.core.StandardContext listenerStop SEVERE: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:172) at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1066) at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1040) at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:988) at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:534) at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:142) at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3882) at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4516) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4380) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:578) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 谁能纠正我,我哪里错了? 您的类路径中缺少 spring-security-web-3.1.X.RELEASE.jar 如果您的项目中存在另外两个 ContextLoaderListener,就会发生这种情况。 例如:在我的例子中,使用 存在 2 ContextLoaderListener java配置 web.xml 因此,从您的项目中删除任何一个 ContextLoaderListener 并运行您的应用程序。 如果您确定没有弄乱罐子,请清理项目并执行mvn clean install。这应该可以解决问题。 这个答案很有用 1 如果您确定没有弄乱 jar,请清理项目并执行 mvn clean install。这应该可以解决问题。 我做了这件事,但如果我完成了 Maven 更新,它会再次引发
WebSecurityConfig 类的 Spring 3.2.4,无法扩展 WebSecurityConfigurerAdapter
我正在使用 Spring boot 3.2.4 版本,我试图为我的应用程序 Web 安全创建 WebSecurityConfig 类。在此类中,我尝试扩展 WebSecurityConfigurerAdapter。但我...
使用 HTTP 标头和自定义数据访问配置 Spring Security 进行身份验证和授权
用户在应用程序外部进行身份验证,请求以 HTTP 标头“授权”形式传入,其值为“承载令牌”。我们需要在所有应用程序端点上进行身份验证,p...
最简单的 spring 安全配置破坏了我正在运行的 spring-boot 应用程序
我有一个可以工作的 Spring Boot 应用程序,并且可以进行单元测试。 如果我为 Spring Security 添加任何配置,则无法提供任何页面,它只是尝试提供静态内容,而控制器永远不会提供服务
我尝试使用有效的 URL 和端口连接到集群 Redis 我收到此错误: 引起原因:io.lettuce.core.RedisCommandExecutionException:ERR 此实例已禁用集群支持 在io.
如何使用 OAuth2 通过 Spring 获取自定义主体对象?
我有一个使用 spring-security-jwt 和 spring-security-oauth2 的 Spring Boot 应用程序。我有一个扩展 UserDetails 的自定义 User 对象和一个返回此对象的 Custom UserDetailsService...
PKIX 路径验证失败:java.security.cert.CertPathValidatorException:签名检查失败
来自 Carlo Scarioni 的 Pro Spring Security 书籍,我正在尝试将 Spring 应用程序与 CAS 服务器集成。我按照书上指示的每一步进行操作,但仍然遇到这个错误。请...
如何在Spring Security中配置多个oauth2重定向uri
鉴于我有 3 个 oauth2 提供商,我如何自定义他们的客户端注册重定向-Uris。 它们并不都符合默认模式 /login/oauth2/code/{registrationId} Azure AD B2C 有自定义:/...
authorizeHttpRequest.anyRequest().authenicated()使用什么过滤器?
这是我的 SecurityConfig 类,即使我的自定义过滤器:SettingsAPIAuthFilter 成功验证了请求,它也会返回 403,因为: .authorizeHttpRequests(auth -> auth.
Spring Boot 安全性 - 使用 Cookie 中的令牌而不是授权标头
您好,我正在尝试从 Spring Security 会话身份验证和授权迁移到通过 JWT 进行身份验证。我有一个关于我遇到的具体情况的问题。而不是使用
如何根据配置文件或特定属性禁用 Spring (Boot) Security OAuth?
我正在将 OAuth2(Google 作为 OIDC 提供者)集成到当前使用简单 DaoAuthenticationProvider 的现有 Spring Boot 应用程序中。我已进行更改以使 OAuth 集成正常工作,...
将 Keycloak 与 Angular 和 Spring Boot 集成以进行身份验证/授权
我目前正在致力于保护一个使用 Angular 16 和 Spring Boot 3.2 与 Keycloak 的应用程序。为了实现这一点,我添加了 spring-boot-starter-oauth2-client 和 spring-boot-starter-
我正在尝试构建个人项目,我遇到了 Spring Security 的问题,我无法解决您的帮助,我们将表示感谢 问题 - > 问题是,即使配置了安全性和流程
尝试使用 useSignOut 钩子时,无法在顶层调用 React Hook“useSetupInterceptors”
我正在尝试学习react js和springboot应用程序,当java重新启动时,我使jwt令牌中的tokenVersion(jwt有效负载中的时间戳而不是实际令牌)无效。 当java重新启动时...
来自 custom-security-spring-boot-starter 的身份验证 bean 不应用于应用程序
我正在制作custom-security-spring-boot-starter。 问题是应用程序不使用我的身份验证 bean。看起来只是使用依赖 spring-boot-starter-security 和默认的 auth bean...
Spring Security 会阻止 POST 请求,尽管有 SecurityConfig
我正在开发一个基于 Spring Boot (spring-boot-starter-web) 的 REST API,其中我使用 Spring Security (spring-security-core e spring-security-config) 来保护不同的端点。
CORS 过滤器和其他一些过滤器在 SpringBoot 中不起作用
SimpleCorsFilter 类未被使用。此外,Auth Controller 和 Admin Contoller 中的方法也没有被使用。 SpringApplication 似乎没有扫描它们。结果...
403 迁移到 Spring Boot 3 后禁止使用基本身份验证的挂起控制器方法
我最近将 Spring Boot MVC Kotlin 项目迁移到 Spring Boot 3。基本身份验证用于 REST 控制器(通过 SecurityFilterChain 配置 - 也从 WebSecurityConfigurerAdap 迁移...
Spring Security BadCredentialsException
我正在遵循这个 Baeldung 教程,我看不到任何差异(除了预生成的登录页面模板),但在尝试使用硬
下面是根据新的 Spring Security 6 / Spring boot 3 文档创建的 SecurityFilterChain bean。请告诉我这是预期的结果还是出现问题。 代码 : @配置...