我正在尝试从Tomcat 6迁移到Tomcat 7。
该应用程序使用表单身份验证,当登录应用程序时,将/ j_security_check作为空白页面停留。
Tomcat正在显示用户已通过身份验证且出错。
java.lang.NoSuchMethodError: org.apache.catalina.realm.GenericPrincipal.getRealm()Lorg/apache/catalina/Realm;
不知道从哪里开始。
[编辑]
tomcat服务器上的server.xml文件只是默认值。
应用程序中的context.xml
<Realm
appName="Informer" className="AuthRealm"
dbContext="java:comp/env/jdbc/appdb" debug="2"
krbFile="C:\\Program Files\\Apache Software Foundation\\Apache Tomcat 7.0.14\\conf\\krb5.conf"
loginFile="C:\\Program Files\\Apache Software Foundation\\Apache Tomcat 7.0.14\\conf\\jaas.conf"
ndcLdap="ldap://server:389"
nedLdap="ldap://server:389" roleClassNames=""
useContextClassLoader="true" userClassNames="" />
[[编辑]]
我正在调用getRealm()方法来生成一个新的GenericPrincipal对象。看起来我只需要更新到新的构造函数。
[[[编辑]]]
两个问题。我正在调用getRealm()并且调用是在一个构造函数中,它不再将该域作为参数。
所以我查找了GenericPrincipal的新构造函数,我所要做的就是从参数中删除getRealm()调用。
解决。
此致