[jcifs] NtlmHttpFilter java.lang.ExceptionInInitializerError &
java.lang.NoClassDefFoundError
Michael B Allen
mba2000 at ioplex.com
Wed Jun 14 17:08:25 GMT 2006
JCIFS does not work if the objects it puts into the session are
serialized. This can happen in a cluster environment or when restarting
a container.
The only solution is to somehow disabled session serialization for
the filter.
There is a fundamental problem with trying to use a stateful
authentication protocol (NTLM) over a stateless transport (HTTP).
Mike
On Wed, 14 Jun 2006 10:07:41 -0300
Sergio Mendonça <sergio.mendonca at ebiz.com.br> wrote:
> Hi,
>
> Im trying to use the NtlmHttpFilter to authenticate the users and have
> some problems.
> This is the configuration that i'm using in the web.xml:
>
> <filter>
> <filter-name>NtlmHttpFilter</filter-name>
> <filter-class>jcifs.http.NtlmHttpFilter</filter-class>
> <init-param>
> <param-name>jcifs.smb.client.domain</param-name>
> <param-value>celos</param-value>
> </init-param>
> <init-param>
> <param-name>jcifs.netbios.wins</param-name>
> <param-value>192.168.13.230</param-value>
> </init-param>
> <init-param>
> <param-name>jcifs.netbios.cachePolicy</param-name>
> <param-value>0</param-value>
> </init-param>
> <init-param>
> <param-name>jcifs.util.loglevel</param-name>
> <param-value>3</param-value>
> </init-param>
> <init-param>
> <param-name>jcifs.smb.client.username</param-name>
> <param-value>operador</param-value>
> </init-param>
> <init-param>
> <param-name>jcifs.smb.client.password</param-name>
> <param-value>operador2003</param-value>
> </init-param>
> </filter>
> <filter-mapping>
> <filter-name>NtlmHttpFilter</filter-name>
> <url-pattern>/*</url-pattern>
> </filter-mapping>
>
> This configuration works perfectly in others servers, but in the
> production server does'nt work, generating this 2 errors listed below:
> *
> 1-*
> ERROR 13/06/2006 13:06:30,656
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/cadastro].[default]
> - Servlet.service() for servlet default threw exception
> java.lang.ExceptionInInitializerError
> at jcifs.smb.SmbSession.getChallengeForDomain(SmbSession.java:95)
> at jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:150)
> at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:114)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.NullPointerException
> at jcifs.netbios.NbtAddress.<clinit>(NbtAddress.java:199)
> ... 17 more
>
> *2-*
> ERROR 13/06/2006 13:06:31,744
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/cadastro].[default]
> - Servlet.service() for servlet default threw exception
> java.lang.NoClassDefFoundError
> at jcifs.smb.SmbSession.getChallengeForDomain(SmbSession.java:95)
> at jcifs.http.NtlmHttpFilter.negotiate(NtlmHttpFilter.java:150)
> at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:114)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Thread.java:595)
>
> The login dialog is shown, i set the username and password, then the
> error #1 occurs.
> After this, the error #2 passes to occour.
>
> Somebody can help me?
> Thanks
>
> Sergio Mendonça
>
--
Michael B Allen
PHP Extension for SSO w/ Windows Group Authorization
http://www.ioplex.com/
More information about the jcifs
mailing list