{"action":"opened","issue":{"url":"https://api.github.com/repos/openanalytics/shinyproxy/issues/24","repository_url":"https://api.github.com/repos/openanalytics/shinyproxy","labels_url":"https://api.github.com/repos/openanalytics/shinyproxy/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/openanalytics/shinyproxy/issues/24/comments","events_url":"https://api.github.com/repos/openanalytics/shinyproxy/issues/24/events","html_url":"https://github.com/openanalytics/shinyproxy/issues/24","id":257829323,"number":24,"title":"Login Error When User Already Logged in","user":{"login":"keqiang","id":8900180,"avatar_url":"https://avatars1.githubusercontent.com/u/8900180?v=4","gravatar_id":"","url":"https://api.github.com/users/keqiang","html_url":"https://github.com/keqiang","followers_url":"https://api.github.com/users/keqiang/followers","following_url":"https://api.github.com/users/keqiang/following{/other_user}","gists_url":"https://api.github.com/users/keqiang/gists{/gist_id}","starred_url":"https://api.github.com/users/keqiang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keqiang/subscriptions","organizations_url":"https://api.github.com/users/keqiang/orgs","repos_url":"https://api.github.com/users/keqiang/repos","events_url":"https://api.github.com/users/keqiang/events{/privacy}","received_events_url":"https://api.github.com/users/keqiang/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-09-14T19:25:47Z","updated_at":"2017-09-14T19:25:47Z","closed_at":null,"author_association":"NONE","body":"Hi,\r\n\r\nWhen I configure the authentication as LDAP and starttls:simple. When I am logged-in in one browser and if I try logging on using another browser, I got the following error message. This also happens when I tried logging in after I started containers and logged out. All the containers get killed after that.\r\n\r\n> Error\r\n> Status code: 500\r\n> \r\n> Message: Uncategorized exception occured during LDAP processing; nested exception is javax.naming.NamingException: [LDAP: error code 1 - TLS already started]; remaining name ''\r\n> \r\n> Stack Trace: \r\n> org.springframework.ldap.UncategorizedLdapException: Uncategorized exception occured during LDAP processing; nested exception is javax.naming.NamingException: [LDAP: error code 1 - TLS already started]; remaining name ''\r\n> at org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:228)\r\n> at org.springframework.ldap.core.support.AbstractContextSource.doGetContext(AbstractContextSource.java:147)\r\n> at org.springframework.ldap.core.support.AbstractContextSource.getReadOnlyContext(AbstractContextSource.java:158)\r\n> at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:357)\r\n> at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:328)\r\n> at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:629)\r\n> at org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:570)\r\n> at org.springframework.security.ldap.SpringSecurityLdapTemplate.searchForMultipleAttributeValues(SpringSecurityLdapTemplate.java:241)\r\n> at org.springframework.security.ldap.SpringSecurityLdapTemplate.searchForSingleAttributeValues(SpringSecurityLdapTemplate.java:166)\r\n> at eu.openanalytics.auth.LDAPAuthenticationType$CNLdapAuthoritiesPopulator.getGroupMembershipRoles(LDAPAuthenticationType.java:180)\r\n> at org.springframework.security.ldap.userdetails.DefaultLdapAuthoritiesPopulator.getGrantedAuthorities(DefaultLdapAuthoritiesPopulator.java:210)\r\n> at org.springframework.security.ldap.authentication.LdapAuthenticationProvider.loadUserAuthorities(LdapAuthenticationProvider.java:213)\r\n> at org.springframework.security.ldap.authentication.AbstractLdapAuthenticationProvider.authenticate(AbstractLdapAuthenticationProvider.java:89)\r\n> at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:174)\r\n> at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:199)\r\n> at org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:94)\r\n> at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212)\r\n> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)\r\n> at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)\r\n> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)\r\n> at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)\r\n> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)\r\n> at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)\r\n> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)\r\n> at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)\r\n> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)\r\n> at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)\r\n> at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)\r\n> at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)\r\n> at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)\r\n> at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n> at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n> at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)\r\n> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n> at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n> at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n> at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105)\r\n> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n> at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n> at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n> at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)\r\n> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n> at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n> at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n> at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)\r\n> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\r\n> at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)\r\n> at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)\r\n> at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)\r\n> at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)\r\n> at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)\r\n> at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)\r\n> at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)\r\n> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\r\n> at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)\r\n> at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)\r\n> at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)\r\n> at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)\r\n> at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)\r\n> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\r\n> at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)\r\n> at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)\r\n> at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)\r\n> at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)\r\n> at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)\r\n> at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)\r\n> at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)\r\n> at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)\r\n> at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)\r\n> at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)\r\n> at io.undertow.server.Connectors.executeRootHandler(Connectors.java:211)\r\n> at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:809)\r\n> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)\r\n> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)\r\n> at java.lang.Thread.run(Thread.java:745)\r\n> Caused by: javax.naming.NamingException: [LDAP: error code 1 - TLS already started]; remaining name ''\r\n> at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3176)\r\n> at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3082)\r\n> at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2888)\r\n> at com.sun.jndi.ldap.LdapCtx.extendedOperation(LdapCtx.java:3261)\r\n> at javax.naming.ldap.InitialLdapContext.extendedOperation(InitialLdapContext.java:184)\r\n> at org.springframework.ldap.core.support.AbstractTlsDirContextAuthenticationStrategy.processContextAfterCreation(AbstractTlsDirContextAuthenticationStrategy.java:131)\r\n> at org.springframework.ldap.core.support.AbstractContextSource.doGetContext(AbstractContextSource.java:142)\r\n> ... 75 more"}}
{"actor":{"display_login":"keqiang"}}