[
https://issues.apache.org/jira/browse/KNOX-746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15551166#comment-15551166
]
Alexandre Linte commented on KNOX-746:
--------------------------------------
To complete my previous answer, here is the full log stack:
{noformat}
Oct 6 09:11:06 knox01 knox INFO - org.apache.hadoop.gatewayCould not login:
org.apache.shiro.authc.UsernamePasswordToken - shfs3453, rememberMe=false
(192.168.200.208)
Oct 6 09:11:06 knox01 knox DEBUG - org.apache.hadoop.gatewayFailed to
Authenticate with LDAP server: {1}
Oct 6 09:11:06 localhost org.apache.shiro.authc.AuthenticationException: LDAP
authentication failed.
Oct 6 09:11:06 localhost at
org.apache.shiro.realm.ldap.JndiLdapRealm.doGetAuthenticationInfo(JndiLdapRealm.java:300)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.shirorealm.KnoxLdapRealm.doGetAuthenticationInfo(KnoxLdapRealm.java:193)
Oct 6 09:11:06 localhost at
org.apache.shiro.realm.AuthenticatingRealm.getAuthenticationInfo(AuthenticatingRealm.java:568)
Oct 6 09:11:06 localhost at
org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:180)
Oct 6 09:11:06 localhost at
org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:267)
Oct 6 09:11:06 localhost at
org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198)
Oct 6 09:11:06 localhost at
org.apache.shiro.mgt.AuthenticatingSecurityManager.authenticate(AuthenticatingSecurityManager.java:106)
Oct 6 09:11:06 localhost at
org.apache.shiro.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:270)
Oct 6 09:11:06 localhost at
org.apache.shiro.subject.support.DelegatingSubject.login(DelegatingSubject.java:256)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:53)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter.onAccessDenied(BasicHttpAuthenticationFilter.java:190)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.filter.AccessControlFilter.onAccessDenied(AccessControlFilter.java:133)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:203)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:178)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
Oct 6 09:11:06 localhost at
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
Oct 6 09:11:06 localhost at
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
Oct 6 09:11:06 localhost at
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
Oct 6 09:11:06 localhost at
org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:332)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:232)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.filter.ResponseCookieFilter.doFilter(ResponseCookieFilter.java:50)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:61)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:332)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:232)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.filter.XForwardedHeaderFilter.doFilter(XForwardedHeaderFilter.java:30)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.filter.AbstractGatewayFilter.doFilter(AbstractGatewayFilter.java:61)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.GatewayFilter$Holder.doFilter(GatewayFilter.java:332)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.GatewayFilter$Chain.doFilter(GatewayFilter.java:232)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.GatewayFilter.doFilter(GatewayFilter.java:139)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.GatewayFilter.doFilter(GatewayFilter.java:91)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.GatewayServlet.service(GatewayServlet.java:138)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.trace.TraceHandler.handle(TraceHandler.java:51)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.filter.CorrelationHandler.handle(CorrelationHandler.java:39)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.Server.handle(Server.java:499)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
Oct 6 09:11:06 localhost at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
Oct 6 09:11:06 localhost at java.lang.Thread.run(Thread.java:745)
Oct 6 09:11:06 Caused by: javax.naming.AuthenticationException: [LDAP: error
code 49 - Invalid Credentials]
Oct 6 09:11:06 localhost at
com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3088)
Oct 6 09:11:06 localhost at
com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3034)
Oct 6 09:11:06 localhost at
com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2836)
Oct 6 09:11:06 localhost at
com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2750)
Oct 6 09:11:06 localhost at
com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:317)
Oct 6 09:11:06 localhost at
com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193)
Oct 6 09:11:06 localhost at
com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211)
Oct 6 09:11:06 localhost at
com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154)
Oct 6 09:11:06 localhost at
com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84)
Oct 6 09:11:06 localhost at
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
Oct 6 09:11:06 localhost at
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
Oct 6 09:11:06 localhost at
javax.naming.InitialContext.init(InitialContext.java:242)
Oct 6 09:11:06 localhost at
javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:153)
Oct 6 09:11:06 localhost at
org.apache.shiro.realm.ldap.JndiLdapContextFactory.createLdapContext(JndiLdapContextFactory.java:508)
Oct 6 09:11:06 localhost at
org.apache.hadoop.gateway.shirorealm.KnoxLdapContextFactory.createLdapContext(KnoxLdapContextFactory.java:63)
Oct 6 09:11:06 localhost at
org.apache.shiro.realm.ldap.JndiLdapContextFactory.getLdapContext(JndiLdapContextFactory.java:495)
Oct 6 09:11:06 localhost at
org.apache.shiro.realm.ldap.JndiLdapRealm.queryForAuthenticationInfo(JndiLdapRealm.java:375)
Oct 6 09:11:06 localhost at
org.apache.shiro.realm.ldap.JndiLdapRealm.doGetAuthenticationInfo(JndiLdapRealm.java:295)
Oct 6 09:11:06 localhost ... 61 more
Oct 6 09:11:06 knox01 knox ERROR - org.apache.hadoop.gatewayShiro unable to
login: javax.naming.AuthenticationException: [LDAP: error code 49 - Invalid
Credentials]
{noformat}
The error code is crazy because it's the right username and password. I don't
understand the mistake.
> Unstable LDAP authentication
> ----------------------------
>
> Key: KNOX-746
> URL: https://issues.apache.org/jira/browse/KNOX-746
> Project: Apache Knox
> Issue Type: Bug
> Components: Server
> Affects Versions: 0.9.1
> Environment: Knox 0.9.1, Hadoop 2.7.2
> Reporter: Alexandre Linte
>
> I'm upgrading Knox from 0.7.0 to 0.9.1. My LDAP configuration doesn't change
> between the two versions. You can find the topology below:
> {noformat}
> <topology>
> <gateway>
> <provider>
> <role>authentication</role>
> <name>ShiroProvider</name>
> <enabled>true</enabled>
> <param>
> <name>sessionTimeout</name>
> <value>30</value>
> </param>
> <param>
> <name>main.ldapRealm</name>
>
> <value>org.apache.hadoop.gateway.shirorealm.KnoxLdapRealm</value>
> </param>
> <param>
> <name>main.ldapContextFactory</name>
>
> <value>org.apache.hadoop.gateway.shirorealm.KnoxLdapContextFactory</value>
> </param>
> <param>
> <name>main.ldapRealm.contextFactory</name>
> <value>$ldapContextFactory</value>
> </param>
> <param>
> <name>main.ldapRealm.userDnTemplate</name>
> <value>cn={0},ou=users,ou=kerberos,dc=bigdata,dc=fr</value>
> </param>
> <param>
> <name>main.ldapRealm.contextFactory.url</name>
> <value>ldap://ldapmaster01.bigdata.fr:389</value>
> </param>
> <param>
>
> <name>main.ldapRealm.contextFactory.authenticationMechanism</name>
> <value>simple</value>
> </param>
> <param>
> <name>main.cacheManager</name>
> <value>org.apache.shiro.cache.ehcache.EhCacheManager</value>
> </param>
> <param>
> <name>main.securityManager.cacheManager</name>
> <value>$cacheManager</value>
> </param>
> <param>
> <name>main.ldapRealm.authenticationCachingEnabled</name>
> <value>true</value>
> </param>
> <param>
> <name>urls./**</name>
> <value>authcBasic</value>
> </param>
> </provider>
> <provider>
> <role>ha</role>
> <name>HaProvider</name>
> <enabled>true</enabled>
> <param>
> <name>WEBHDFS</name>
>
> <value>maxFailoverAttempts=3;failoverSleep=1000;maxRetryAttempts=300;retrySleep=1000;enabled=true</value>
> </param>
> </provider>
> <provider>
> <role>identity-assertion</role>
> <name>Default</name>
> <enabled>true</enabled>
> </provider>
> <provider>
> <role>hostmap</role>
> <name>static</name>
> <enabled>true</enabled>
> <param>
> <name>localhost</name>
> <value>sandbox,sandbox.hortonworks.com</value>
> </param>
> </provider>
> </gateway>
> <service>
> <role>NAMENODE</role>
> <url>hdfs://namenode01.bigdata.fr:8020</url>
> </service>
> <service>
> <role>RESOURCEMANAGER</role>
> <url>http://rm01.bigdata.fr:8088/ws</url>
> </service>
> <service>
> <role>JOBTRACKER</role>
> <url>rpc://rm01.bigdata.fr:8050</url>
> </service>
> <service>
> <role>WEBHDFS</role>
> <url>http://namenode01.bigdata.fr:50070/webhdfs</url>
> <url>http://namenode02.bigdata.fr:50070/webhdfs</url>
> </service>
> <service>
> <role>YARNUI</role>
> <url>http://rm02.bigdata.fr:8088</url>
> </service>
> <service>
> <role>HDFSUI</role>
> <url>http://namenode01.bigdata.fr:50070</url>
> </service>
> <service>
> <role>JOBHISTORYUI</role>
> <url>http://namenode01.bigdata.fr:19888</url>
> </service>
> <service>
> <role>WEBHCAT</role>
> <url>http://metastore01.bigdata.fr:50111/templeton</url>
> </service>
> <service>
> <role>OOZIE</role>
> <url>http://oozie01.bigdata.fr:11000/oozie</url>
> </service>
> <service>
> <role>OOZIEUI</role>
> <url>http://oozie01.bigdata.fr:11000/oozie</url>
> </service>
> <service>
> <role>WEBHBASE</role>
> <url>http://hiveserver01.bigdata.fr:8080</url>
> </service>
> <service>
> <role>HBASEUI</role>
> <url>http://namenode01.bigdata.fr:16010</url>
> </service>
> <service>
> <role>HIVE</role>
> <url>http://hiveserver01.bigdata.fr:10001/bdcorp</url>
> </service>
> <service>
> <role>SPARKHISTORYUI</role>
> <url>http://sparkhistory01.bigdata.fr:18080</url>
> </service>
> </topology>
> {noformat}
> Note: The XML is correct but I cannot validate the topology through knoxcli.
> {noformat}
> [root@knox01 current]# ./bin/knoxcli.sh validate-topology --cluster bigdata
> File to be validated:
> /opt/application/Knox/knox-0.9.1/bin/../conf/topologies/bigdata.xml
> ==========================================
> Error retrieving schema from ClassLoader
> Topology validation unsuccessful
> {noformat}
> Regularly I cannot connect to Knox with my personal account and after a few
> seconds or minutes, I can connect again. The stack trace is below:
> {noformat}
> Aug 25 09:42:16 knox01.bigdata.fr knox INFO -
> org.apache.hadoop.gatewayComputed userDn:
> cn=shfs3453,ou=users,ou=kerberos,dc=bigdata,dc=fr using dnTemplate for
> principal: shfs3453
> Aug 25 09:42:16 knox01.bigdata.fr knox INFO - org.apache.hadoop.gatewayCould
> not login: org.apache.shiro.authc.UsernamePasswordToken - shfs3453,
> rememberMe=false (192.168.64.169)
> Aug 25 09:42:16 knox01.bigdata.fr knox ERROR - org.apache.hadoop.gatewayShiro
> unable to login: javax.naming.AuthenticationException: [LDAP: error code 49 -
> Invalid Credentials]
> Aug 25 09:42:32 knox01.bigdata.fr knox INFO -
> org.apache.hadoop.gatewayComputed userDn:
> cn=shfs3453,ou=users,ou=kerberos,dc=bigdata,dc=fr using dnTemplate for
> principal: shfs3453
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)