2012-03-22 3 views
0
내가 톰캣 6

톰캣 마이그레이션 - 인증 문제

응용에서 톰캣 7로 마이그레이션하려고

폼 인증을 사용하고 응용 프로그램에 로그인 할 때 빈 페이지로/j_security_check의에 갇혀됩니다.

톰캣에 사용자가 인증되고 오류가 표시됩니다.

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="" /> 

I GenericPrincipal 새로운 객체를 생성하는 getRealm() 메소드를 호출하고 [[편집]. 새 생성자로 업데이트해야하는 것 같습니다.

두 가지 문제가 있습니다. getRealm()을 호출하고 있었고 호출은 더 이상 매개 변수로 영역을 차지하지 않는 생성자에있었습니다.

그래서 GenericPrincipal에 대한 새 생성자를 조회 했으므로 매개 변수에서 getRealm() 호출을 제거해야했습니다.

해결되었습니다.

감사합니다,

+0

구성 파일에는 무엇이 있습니까? – madth3

답변

1

내가 보지 않는 톰캣 문서에서 AuthRealm 클래스입니다. 내 생각에 그것은 사용자 정의 Realm이며 Tomcat 6에 프로그래밍되어 API가 변경되었습니다.

개체 org.apache.catalina.realm.GenericPrincipalversion 7version 6 변경하고 지금은 getRealm() 방법이 없습니다.

+0

네가 맞습니다. –

+0

그냥 getRealm() 호출을 제거하여 생성자를 업데이트해야했습니다. –