当前位置: 首页 > 知识库问答 >
问题:

将AppFuse应用程序从Tomcat 7迁移到Jboss EAP 6.1

周培
2023-03-14

我对Java Web服务器和Web应用程序非常陌生。我们有一个非常老的基于Appfuse框架的应用程序在Tomcat5上运行良好。Appfuse是一个基于sprint的框架,与hubernet和其他一些东西一起构建

我需要把它转移到JBOSS EAP 6.1。最初我在独立模式下测试

我想我已经完成了1。JBossWeb。xml创建2。在单机版中创建oracle数据库模块并添加数据库连接。xml 3。安装演示应用程序以测试日志记录和身份验证系统。

但是应用程序不起作用。我不知道什么是不工作,因为我不能调试这个东西了。

首先,我的登录页面不工作对于登录,我们有基于表单的身份验证。它用于转到servlet页面,并用于检查一些东西,如数据库和LDAP,最后用于更新数据库,并用于将页面重定向为j_security_check?j_username用户

我所做的检查是,我使用DatabaseServerLoginModule创建了一个登录模块,并且“从数据库验证”还创建了一个演示应用程序,以检查这是否有效,并且在演示应用程序中一切正常。

即使我禁用我的登录servlet和登录过滤器,并使用为演示应用程序创建的简单登录jsp页面,我也可以在再次中断之前登录并做一些事情。

我得到的错误如下

16:17:12,170 TRACE[org.jboss.security](超文本传输协议-localhost/127.0.0.1: 8080-3)PBOX000263:执行查询选择密码从用户那里ad_username=?与用户名pealison 16:17:12,173 DEBUG[org.jboss.security](超文本传输协议-localhost/127.0.0.1: 8080-3)PBOX000283:用户名pealison 16:17:12,173 TRACE[org.jboss.security](超文本传输协议-localhost/127.0.0.1: 8080-3)PBOX000244:开始中止方法16:17:12,173 DEBUG[org.jboss.security](超文本传输协议-localhost/127.0.0.1: 8080-3)PBOX000206:登录失败:javax.security.auth.login.失败登录异常: PBOX000070:密码无效/需要密码在org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:284)[picketbox-4.0.17.final-redhat-1.jar:4.0.17。最终红帽-1]在sun.reflect.NativeMEDAccessorImpl.invoke0(本地方法)[rt.jar: 1.7。0_25]在sun.reflect.NativeMEDAccessorImpl.invoke(未知来源)[rt.jar: 1.7。0_25]在sun.reflect.在java. lang.反射中委托方法访问或Inp. invoke(未知源)[rt. jar: 1.7.0_25]。方法调用(未知来源)[rt. jar: 1.7。0_25]在javax. security. auth. login。[rt. jar: 1.7.0_25]在javax. security. auth. login.在javax. security. auth. login中登录$(未知来源)[rt. jar: 1.70_25]。LoginContext4 dollars. run(未知来源)[rt. jar: 1.7。0_25]在javax. security. auth. login。LoginContext4 dollars. run(未知来源)[rt. jar: 1.7.0_25]at java. security.AccessController. doPrivileged(本地方法)[rt. jar: 1.7.0_25]在javax. security. auth. login。登录javax. security. auth. login的[rt. jar: 1.70_25]。登录(未知来源)[rt. jar: 1.7。0_25]在org. jboss. security.验证。默认登录(JBossCachedAuthentiationManager. java: 408)[picketbox-infinispan-4.0.17.final-redhat-1. jar: 4.0.17。final-redhat-1]at org. jboss. security.验证。JBossCachedAuthentiationManager. ProcedAnd JaasLogin(JBossCachedAuthentiationManager. java: 345)[picketbox-infinispan-4.0.17。final-redhat-1. jar: 4.0.17。final-redhat-1]at org. jboss. security.验证。JBossCachedAuthentiationManager.验证(JBossCachedAuthentiationManager. java: 333)[picketbox-infinispan-4.0.17。final-redhat-1. jar: 4.0.17。final-redhat-1]at org. jboss. security.验证。JBossCachedAuthentiationManager. isValid(JBossCachedAuthentiationManager. java: 146)[picketbox-infinispan-4.0.17。final-redhat-1. jar: 4.0.17。final-redhat-1]at org. jboss. as. web. security.JBossWebRealm.验证(JBossWebRealm. java: 216)[jboss as-web-7.2.0.final-redhat-8. jar: 7.2.0。final-redhat-8]at org. apache. catalina.验证器。[jbosSweb-7.2.0.final-redhat-1. jar: 7.2.0。final-redhat-1]at org. apache. catalina.验证器。[jbosscwib-7.2.0.final-redhat-1. jar: 7.2.0。final-redhat-1]at org. jboss. as. web. security.SecurityContextAssociationValve. invoke(SecurityContextAssociationValve. java: 169)[jboss as-web-7.2.0.final-redhat-8. jar: 7.2.0。final-redhat-8]at org. apache. catalina. core.[jbosscwib-7.2.0.final-redhat-1. jar: 7.2.0。final-redhat-1]at org. apache. catalina. valves.[jbosSweb-7.2.0.final-redhat-1. jar: 7.2.0。final-redhat-1]at org. apache. catalina.验证器。java: 389)[jbosSweb-7.2.0.final-redhat-1. jar: 7.2.0。final-redhat-1]at org. apache. catalina. core.[jbosSweb-7.2.0.final-redhat-1. jar: 7.2.0。final-redhat-1]at org. apache. catalina. Connector.CoyoteAdapter. service(CoyoteAdapter. java: 336)[jbosSweb-7.2.0.final-redhat-1. jar: 7.2.0。final-redhat-1]at org. apache. coyot. http 11.进程(Http11Processor. java: 856)[jbosSweb-7.2.0.final-redhat-1. jar: 7.2.0。final-redhat-1]at org. apache. coyot. http 11.进程(Http11ConnectionHandler.进程)[jbosSweb-7.2.0.final-redhat-1. jar: 7.2.0。final-redhat-1]at org. apache. tomcat. util. net.JIoEndpoint$Worker. run(JIoEndpoint. java: 920)[jbosSweb-7.2.0.final-redhat-1. jar: 7.2.0。final-redhat-1]at java. lang.线程. run(未知来源)[rt. jar: 1.7.0_25]

<filter>
  <filter-name>loginFilter</filter-name>
  <display-name>Login Filter</display-name>
  <filter-class>com.mas.etcs.webapp.filter.LoginFilter</filter-class>
  <init-param>
   <param-name>enabled</param-name>
   <param-value>true</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>loginFilter</filter-name>
  <url-pattern>/login.jsp</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>loginFilter</filter-name>
  <url-pattern>/logout.jsp</url-pattern>
 </filter-mapping>

 <servlet>
  <servlet-name>login</servlet-name>
  <display-name>Login Servlet</display-name>
  <servlet-class>com.mas.etcs.webapp.action.LoginServlet</servlet-class>
  <init-param>
   <param-name>authURL</param-name>
   <param-value>j_security_check</param-value>
  </init-param>
  <init-param>
   <param-name>isSecure</param-name>
   <param-value>false</param-value>
  </init-param>
  <init-param>
   <param-name>encrypt-password</param-name>
   <param-value>true</param-value>
  </init-param>
  <init-param>
   <param-name>algorithm</param-name>
   <param-value>SHA</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>

我看这件事已经一个多星期了,我快发疯了,需要帮助。

共有1个答案

花俊雄
2023-03-14

我的大部分问题在我把oracle模块放在ee子系统后解决了。

<subsystem xmlns="urn:jboss:domain:ee:1.1">
    <spec-descriptor-property-replacement>false
    </spec-descriptor-property-replacement>
    <jboss-descriptor-property-replacement>true
    </jboss-descriptor-property-replacement>
    <global-modules>
        <module name="com.oracle.ojdbc" slot="main" />
    </global-modules>
</subsystem>

仍在与系统抗争。出来

 类似资料:
  • Tomcat10最近发布了,并尝试简单地部署应用程序。由于Java EE 8使用javax.*包名称空间,而Tomcat10使用Java EE 9,后者使用jakarta.*名称空间,因此很难从Tomcat9迁移到10。有什么方法或工具可以做到这一点吗?我认为这对tomcat 7/8也是一样的。

  • 我发现这个类是的一部分,但我使用的是。 我复制了hibernate-core-4.2.0.final.jar,hibernate-ehcache-4.2.0.final.jar,cglib-2.2.2.jar,hibernate-jpa-2.0-api-1.0.1.final.jar,hibernate-commons-annotations-4.0.1.final.jar,hibernate-e

  • 我用xcode11运行我的应用程序,并且可以发布它。但是,我看到了苹果发布的下面这则公告; “从2021年4月开始,所有提交到应用商店的iOS和iPadOS应用都必须使用Xcode 12和iOS 14 SDK构建。” 我到底该怎么做?如果我下载Xcode12并运行我的应用程序,SDK会自动更新吗?安装iOS 14 SDK该怎么做? 或者我需要为我现有的豆荚“豆荚更新”吗?在我的项目“iOS部署目标

  • 我正在探索将java web应用程序移动到Azure应用程序服务的可能性。应用程序on prem在启动时读取属性文件。 是否有可能将属性文件传递或放置到应用服务?如果没有,建议将此类遗留应用程序移动到Azure应用服务?

  • 我正在尝试将运行在Jboss eap-6.3服务器上的应用程序传输到Wildfly 9服务器上。 独立日志 谁能帮帮我吗?我是JBoss和Wildfly环境的新手

  • 我有一个Web项目,我很容易在tomcat上对其进行depoly。事实上,我有一个实现的类(这个类真的很胖),因为你知道每个支持servlet 3.0的应用程序服务器,它可以很容易地检测到它并尝试启动它。现在我想知道是否可以使用Spring启动启动器,并且无需任何进一步的配置,我将我的传递给它,并根据我的启动我的项目进行Spring启动? 我只想使用spring boot的方法在Tomcat上部署