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

时间:2013-09-23 06:26:31

标签: tomcat servlets jboss migration appfuse

我是Java Web服务器和Web应用程序的新手。 我们有一个非常古老的基于Appfuse框架的应用程序在Tomcat 5上正常运行。 Appfuse是一个基于sprint的框架工作,它与hubernet很少有其他东西构建在其中。

我需要将其转移到JBOSS EAP 6.1。 最初我在独立模式下进行测试

认为我已经做过了 1.创建了jboss-web.xml 2.在standalone.xml中创建oracle数据库模块并添加数据库连接 3.安装演示应用程序以测试日志记录和身份验证系统。

但应用程序无效。 我不知道什么是无效的,因为我不能再调试这个东西了。

从我的登录页面开始不起作用 登录时我们有基于表单的身份验证。它用于访问servlet页面并用于检查数据库和LDAP之类的东西,最后用于更新数据库并用于将页面重定向为j_security_check?j_username = user& j_password = 09d841bf7ab817bf248133610fc2c13b346690aa& j_uri =

我要检查的是我创建了一个带有DatabaseServerLoginModule的登录模块,并且从数据库验证也创建了一个演示应用程序来检查这是否正常,并且它在演示应用程序中都很好。

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

我得到的错误如下

16:17:12,170 TRACE [org.jboss.security](http-localhost / 127.0.0.1:8080-3)PBOX000263:从ad_username =?的用户执行查询选择密码用户名pealison 16:17:12,173 DEBUG [org.jboss.security](http-localhost / 127.0.0.1:8080-3)PBOX000283:用户名pealison的密码错误 16:17:12,173 TRACE [org.jboss.security](http-localhost / 127.0.0.1:8080-3)PBOX000244:开始中止方法 16:17:12,173 DEBUG [org.jboss.security](http-localhost / 127.0.0.1:8080-3)PBOX000206:登录失败:javax.security.auth.login.FailedLoginException:PBOX000070:密码无效/需要密码     在org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:284)[picketbox-4.0.17.Final-redhat-1.jar:4.0.17.Final-redhat-1]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[rt.jar:1.7.0_25]     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)[rt.jar:1.7.0_25]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)[rt.jar:1.7.0_25]     at java.lang.reflect.Method.invoke(Unknown Source)[rt.jar:1.7.0_25]     在javax.security.auth.login.LoginContext.invoke(未知来源)[rt.jar:1.7.0_25]     在javax.security.auth.login.LoginContext.access $ 000(未知来源)[rt.jar:1.7.0_25]     在javax.security.auth.login.LoginContext $ 4.run(未知来源)[rt.jar:1.7.0_25]     在javax.security.auth.login.LoginContext $ 4.run(未知来源)[rt.jar:1.7.0_25]     at java.security.AccessController.doPrivileged(Native Method)[rt.jar:1.7.0_25]     在javax.security.auth.login.LoginContext.invokePriv(未知来源)[rt.jar:1.7.0_25]     在javax.security.auth.login.LoginContext.login(未知来源)[rt.jar:1.7.0_25]     在org.jboss.security.authentication.JBossCachedAuthenticationManager.defaultLogin(JBossCachedAuthenticationManager.java:408)[picketbox-infinispan-4.0.17.Final-redhat-1.jar:4.0.17.Final-redhat-1]     在org.jboss.security.authentication.JBossCachedAuthenticationManager.proceedWithJaasLogin(JBossCachedAuthenticationManager.java:345)[picketbox-infinispan-4.0.17.Final-redhat-1.jar:4.0.17.Final-redhat-1]     在org.jboss.security.authentication.JBossCachedAuthenticationManager.authenticate(JBossCachedAuthenticationManager.java:333)[picketbox-infinispan-4.0.17.Final-redhat-1.jar:4.0.17.Final-redhat-1]     在org.jboss.security.authentication.JBossCachedAuthenticationManager.isValid(JBossCachedAuthenticationManager.java:146)[picketbox-infinispan-4.0.17.Final-redhat-1.jar:4.0.17.Final-redhat-1]     在org.jboss.as.web.security.JBossWebRealm.authenticate(JBossWebRealm.java:216)[jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]     在org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:280)[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]     在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:373)[jbossweb-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]     在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]     在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]     在org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:389)[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]     在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]     在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]     在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]     在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:653)[jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]     在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]     在java.lang.Thread.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 个答案:

答案 0 :(得分:0)

在将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>

仍在与system.out战斗。