gpt4 book ai didi

grails - Grails-Websphere-未定义名为 'springSecurityFilterChain'的bean

转载 作者:行者123 更新时间:2023-12-02 14:51:24 25 4
gpt4 key购买 nike

我的Grails应用程序已在本地主机上启动并运行。但是,当我尝试将其部署在Websphere上时,出现以下错误。

错误消息:javax.servlet.ServletException:过滤器[springSecurityFilterChain]:无法初始化
错误码:500
目标Servlet:com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor
错误堆栈:
org.springframework.beans.factory.NoSuchBeanDefinitionException:未定义名为“springSecurityFilterChain”的bean
在org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:570)
在org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1114)
在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:279)
在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
在org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1121)
在org.springframework.web.filter.DelegatingFilterProxy.initDelegate(DelegatingFilterProxy.java:323)
在org.springframework.web.filter.DelegatingFilterProxy.initFilterBean(DelegatingFilterProxy.java:235)
在org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:194)
在com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.init(FilterInstanceWrapper.java:145)
在com.ibm.ws.webcontainer.filter.WebAppFilterManager._loadFilter(WebAppFilterManager.java:600)
在com.ibm.ws.webcontainer.filter.WebAppFilterManager.loadFilter(WebAppFilterManager.java:507)
在com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterInstanceWrapper(WebAppFilterManager.java:312)
在com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:385)
在com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:924)
在com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1064)
在com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3763)
在com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
在com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:976)
在com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
在com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:453)
在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:515)
在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:306)
在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:277)
在com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
在com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
在com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
在com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
在com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
在com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
在com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
在com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
在com.ibm.io.async.ResultHandler $ 2.run(ResultHandler.java:905)
在com.ibm.ws.util.ThreadPool $ Worker.run(ThreadPool.java:1700)

这是我的Web.xml,

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
metadata-complete="true"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

<display-name>/@grails.project.key@</display-name>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

<context-param>
<param-name>webAppRootKey</param-name>
<param-value>@grails.project.key@</param-value>
</context-param>

<filter>
<filter-name>sitemesh</filter-name>
<filter-class>org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter</filter-class>
</filter>

<filter>
<filter-name>charEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>characterEncodingFilter</param-value>
</init-param>
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>charEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>

</filter-mapping>

<listener>
<listener-class>org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener</listener-class>
</listener>

<!-- Grails dispatcher servlet -->
<servlet>
<servlet-name>grails</servlet-name>
<servlet-class>org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet</servlet-class>
<init-param>
<param-name>dispatchOptionsRequest</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>

<!-- The Groovy Server Pages servlet -->
<servlet>
<servlet-name>gsp</servlet-name>
<servlet-class>org.codehaus.groovy.grails.web.pages.GroovyPagesServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>gsp</servlet-name>
<url-pattern>*.gsp</url-pattern>
</servlet-mapping>

<session-config>
<!-- 30 minutes -->
<session-timeout>30</session-timeout>
</session-config>

<welcome-file-list>
<!--
The order of the welcome pages is important. JBoss deployment will
break if index.gsp is first in the list.
-->
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.gsp</welcome-file>
</welcome-file-list>

我尝试查看过此处发布的各种解决方案,但无法完成这项工作。另外,我不确定Grails项目结构中的其他.xml文件在哪里。

最佳答案

您不会在Grails应用程序中找到许多xml文件,仅会找到web.xml(由于Servlet 3.0允许您以编程方式完成所有操作,因此在Grails 3中将消失),以及web-app/WEB-INF/applicationContext.xmlweb-app/WEB-INF/sitemesh.xml。安装的插件也有plugin.xml文件。大多数内容都使用代码进行配置。

您没有说是在使用spring-security-core plugin还是自己进行连接,但这似乎并不像您在做任何一项。如果您使用的是插件,则它将自身添加到web.xml中,如果您自己进行操作,则将具有此功能。这不受在WebSphere或适当的服务器中运行的影响,因为web.xml是在构建war文件时生成的,因此尽管WebSphere可能会带来进一步的怪异,但这次并不是坏人。

在重建和重新部署之前,请尝试运行grails cleangrails compile

这可能是您的构建过程吗?您是否只是使用grails war进行 war ?

关于grails - Grails-Websphere-未定义名为 'springSecurityFilterChain'的bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27001836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com