Hi Gareth, as you are using unsecured ldap on port 389:
Does your AD server allow for (unencrypted) LDAP binds? At least in 2008 that can be turned off. >From my point the 'easiest' way to test credential settings specifically with >Java, try to check your settings using Apache Directory Studio. -- Rene On 9 Feb 2011, at 08:52, Gareth Mitchell wrote: > Hello, > > I am trying to get CAS working as part of a Shibboleth deployment, ive been > following the guide over at Nottingham > trenthttp://shibsp.ntu.ac.uk/confluence/display/SHIB2/Home and so have used > the same versions of spring ldap (1.3.0) and cas (3.3.2) that they were > using, CAS installed and tested ok, then I added the LDAP configuration to > the deployerConfigContext.xml , now it looks like its attempting and failing > the LDAP connection, have tested the LDAP connection using Microsoft port > query and the connections seems fine, im getting the following error in my > browser when attempting to authenticate. > > Thanks for reading, any help will be much appreciated > > Gareth > > type Exception report > > > > message > > > > description The server encountered an internal error () that prevented it > from fulfilling this request. > > > > exception > > > > org.springframework.web.util.NestedServletException: Request processing > failed; nested exception is > org.springframework.webflow.engine.ActionExecutionException: Exception thrown > executing [AnnotatedAction@101e178 targetAction = > org.jasig.cas.web.flow.AuthenticationViaFormAction@1f2af1c, attributes = > map['method' -> 'submit']] in state 'submit' of flow 'login-webflow' -- > action execution attributes were 'map['method' -> 'submit']'; nested > exception is org.springframework.ldap.CommunicationException: simple bind > failed: Austen.wkc.ac.uk:389; nested exception is > javax.naming.CommunicationException: simple bind failed: Austen.wkc.ac.uk:389 > [Root exception is java.net.SocketException: Connection reset] > > > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:583) > > > org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > > org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115) > > > org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48) > > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > > > > > root cause > > > > org.springframework.webflow.engine.ActionExecutionException: Exception thrown > executing [AnnotatedAction@101e178 targetAction > =org.jasig.cas.web.flow.AuthenticationViaFormAction@1f2af1c, attributes = > map['method' -> 'submit']] in state 'submit' of flow 'login-webflow' -- > action execution attributes were 'map['method' -> 'submit']'; nested > exception is org.springframework.ldap.CommunicationException: simple bind > failed: Austen.wkc.ac.uk:389; nested exception is > javax.naming.CommunicationException: simple bind failed: Austen.wkc.ac.uk:389 > [Root exception is java.net.SocketException: Connection reset] > > > org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:64) > > > org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:156) > > org.springframework.webflow.engine.State.enter(State.java:191) > > > org.springframework.webflow.engine.Transition.execute(Transition.java:212) > > > org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107) > > org.springframework.webflow.engine.Flow.onEvent(Flow.java:534) > > > org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205) > > > org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161) > > org.springframework.webflow.engine.State.enter(State.java:191) > > > org.springframework.webflow.engine.Transition.execute(Transition.java:212) > > > org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107) > > org.springframework.webflow.engine.Flow.onEvent(Flow.java:534) > > > org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205) > > > org.springframework.webflow.engine.impl.FlowExecutionImpl.signalEvent(FlowExecutionImpl.java:202) > > > org.springframework.webflow.executor.FlowExecutorImpl.resume(FlowExecutorImpl.java:222) > > > org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:111) > > > org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:165) > > > org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) > > > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) > > > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) > > > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) > > > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) > > > org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > > org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115) > > > org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48) > > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > > > > > root cause > > > > org.springframework.ldap.CommunicationException: simple bind failed: > Austen.wkc.ac.uk:389; nested exception is > javax.naming.CommunicationException: simple bind failed: Austen.wkc.ac.uk:389 > [Root exception is java.net.SocketException: Connection reset] > > > org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:98) > > > org.springframework.ldap.core.support.AbstractContextSource.createContext(AbstractContextSource.java:266) > > > org.springframework.ldap.core.support.AbstractContextSource.getContext(AbstractContextSource.java:106) > > > org.springframework.ldap.core.support.AbstractContextSource.getReadOnlyContext(AbstractContextSource.java:125) > > > org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:287) > > > org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:361) > > > org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler.authenticateUsernamePasswordInternal(BindLdapAuthenticationHandler.java:66) > > > org.jasig.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler.doAuthentication(AbstractUsernamePasswordAuthenticationHandler.java:56) > > > org.jasig.cas.authentication.handler.support.AbstractPreAndPostProcessingAuthenticationHandler.authenticate(AbstractPreAndPostProcessingAuthenticationHandler.java:71) > > > org.jasig.cas.authentication.AuthenticationManagerImpl.authenticate(AuthenticationManagerImpl.java:88) > > > org.jasig.cas.CentralAuthenticationServiceImpl.createTicketGrantingTicket(CentralAuthenticationServiceImpl.java:417) > > > org.jasig.cas.web.flow.AuthenticationViaFormAction.submit(AuthenticationViaFormAction.java:107) > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > > sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > > java.lang.reflect.Method.invoke(Unknown Source) > > > org.springframework.webflow.util.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:99) > > > org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:133) > > > org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:192) > > > org.springframework.webflow.engine.AnnotatedAction.execute(AnnotatedAction.java:146) > > > org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:59) > > > org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:156) > > org.springframework.webflow.engine.State.enter(State.java:191) > > > org.springframework.webflow.engine.Transition.execute(Transition.java:212) > > > org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107) > > org.springframework.webflow.engine.Flow.onEvent(Flow.java:534) > > > org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205) > > > org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161) > > org.springframework.webflow.engine.State.enter(State.java:191) > > > org.springframework.webflow.engine.Transition.execute(Transition.java:212) > > > org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107) > > org.springframework.webflow.engine.Flow.onEvent(Flow.java:534) > > > org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205) > > > org.springframework.webflow.engine.impl.FlowExecutionImpl.signalEvent(FlowExecutionImpl.java:202) > > > org.springframework.webflow.executor.FlowExecutorImpl.resume(FlowExecutorImpl.java:222) > > > org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:111) > > > org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:165) > > > org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) > > > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) > > > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) > > > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) > > > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) > > > org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > > org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115) > > > org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48) > > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > > > > > root cause > > > > javax.naming.CommunicationException: simple bind failed: ***.***.ac.uk:389 > [Root exception is java.net.SocketException: Connection reset] > > com.sun.jndi.ldap.LdapClient.authenticate(Unknown Source) > > com.sun.jndi.ldap.LdapCtx.connect(Unknown Source) > > com.sun.jndi.ldap.LdapCtx.<init>(Unknown Source) > > com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(Unknown Source) > > com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(Unknown Source) > > com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(Unknown > Source) > > com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(Unknown > Source) > > javax.naming.spi.NamingManager.getInitialContext(Unknown > Source) > > javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) > > javax.naming.InitialContext.init(Unknown Source) > > javax.naming.ldap.InitialLdapContext.<init>(Unknown Source) > > > org.springframework.ldap.core.support.LdapContextSource.getDirContextInstance(LdapContextSource.java:43) > > > org.springframework.ldap.core.support.AbstractContextSource.createContext(AbstractContextSource.java:254) > > > org.springframework.ldap.core.support.AbstractContextSource.getContext(AbstractContextSource.java:106) > > > org.springframework.ldap.core.support.AbstractContextSource.getReadOnlyContext(AbstractContextSource.java:125) > > > org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:287) > > > org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:361) > > > org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler.authenticateUsernamePasswordInternal(BindLdapAuthenticationHandler.java:66) > > > org.jasig.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler.doAuthentication(AbstractUsernamePasswordAuthenticationHandler.java:56) > > > org.jasig.cas.authentication.handler.support.AbstractPreAndPostProcessingAuthenticationHandler.authenticate(AbstractPreAndPostProcessingAuthenticationHandler.java:71) > > > org.jasig.cas.authentication.AuthenticationManagerImpl.authenticate(AuthenticationManagerImpl.java:88) > > > org.jasig.cas.CentralAuthenticationServiceImpl.createTicketGrantingTicket(CentralAuthenticationServiceImpl.java:417) > > > org.jasig.cas.web.flow.AuthenticationViaFormAction.submit(AuthenticationViaFormAction.java:107) > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > > sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > > java.lang.reflect.Method.invoke(Unknown Source) > > > org.springframework.webflow.util.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:99) > > > org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:133) > > > org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:192) > > > org.springframework.webflow.engine.AnnotatedAction.execute(AnnotatedAction.java:146) > > > org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:59) > > > org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:156) > > org.springframework.webflow.engine.State.enter(State.java:191) > > > org.springframework.webflow.engine.Transition.execute(Transition.java:212) > > > org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107) > > org.springframework.webflow.engine.Flow.onEvent(Flow.java:534) > > > org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205) > > > org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161) > > org.springframework.webflow.engine.State.enter(State.java:191) > > > org.springframework.webflow.engine.Transition.execute(Transition.java:212) > > > org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107) > > org.springframework.webflow.engine.Flow.onEvent(Flow.java:534) > > > org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205) > > > org.springframework.webflow.engine.impl.FlowExecutionImpl.signalEvent(FlowExecutionImpl.java:202) > > > org.springframework.webflow.executor.FlowExecutorImpl.resume(FlowExecutorImpl.java:222) > > > org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:111) > > > org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:165) > > > org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) > > > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) > > > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) > > > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) > > > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) > > > org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > > org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115) > > > org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48) > > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > > > > > root cause > > > > java.net.SocketException: Connection reset > > java.net.SocketInputStream.read(Unknown Source) > > com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown > Source) > > com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source) > > com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown > Source) > > > com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown > Source) > > > com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Unknown Source) > > com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown > Source) > > java.io.BufferedOutputStream.flushBuffer(Unknown Source) > > java.io.BufferedOutputStream.flush(Unknown Source) > > com.sun.jndi.ldap.Connection.writeRequest(Unknown Source) > > com.sun.jndi.ldap.LdapClient.ldapBind(Unknown Source) > > com.sun.jndi.ldap.LdapClient.authenticate(Unknown Source) > > com.sun.jndi.ldap.LdapCtx.connect(Unknown Source) > > com.sun.jndi.ldap.LdapCtx.<init>(Unknown Source) > > com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(Unknown Source) > > com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(Unknown Source) > > com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(Unknown > Source) > > com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(Unknown > Source) > > javax.naming.spi.NamingManager.getInitialContext(Unknown > Source) > > javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) > > javax.naming.InitialContext.init(Unknown Source) > > javax.naming.ldap.InitialLdapContext.<init>(Unknown Source) > > > org.springframework.ldap.core.support.LdapContextSource.getDirContextInstance(LdapContextSource.java:43) > > > org.springframework.ldap.core.support.AbstractContextSource.createContext(AbstractContextSource.java:254) > > > org.springframework.ldap.core.support.AbstractContextSource.getContext(AbstractContextSource.java:106) > > > org.springframework.ldap.core.support.AbstractContextSource.getReadOnlyContext(AbstractContextSource.java:125) > > > org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:287) > > > org.springframework.ldap.core.LdapTemplate.search(LdapTemplate.java:361) > > > org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler.authenticateUsernamePasswordInternal(BindLdapAuthenticationHandler.java:66) > > > org.jasig.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler.doAuthentication(AbstractUsernamePasswordAuthenticationHandler.java:56) > > > org.jasig.cas.authentication.handler.support.AbstractPreAndPostProcessingAuthenticationHandler.authenticate(AbstractPreAndPostProcessingAuthenticationHandler.java:71) > > > org.jasig.cas.authentication.AuthenticationManagerImpl.authenticate(AuthenticationManagerImpl.java:88) > > > org.jasig.cas.CentralAuthenticationServiceImpl.createTicketGrantingTicket(CentralAuthenticationServiceImpl.java:417) > > > org.jasig.cas.web.flow.AuthenticationViaFormAction.submit(AuthenticationViaFormAction.java:107) > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > > sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > > java.lang.reflect.Method.invoke(Unknown Source) > > > org.springframework.webflow.util.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:99) > > > org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:133) > > > org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:192) > > > org.springframework.webflow.engine.AnnotatedAction.execute(AnnotatedAction.java:146) > > > org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:59) > > > org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:156) > > org.springframework.webflow.engine.State.enter(State.java:191) > > > org.springframework.webflow.engine.Transition.execute(Transition.java:212) > > > org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107) > > org.springframework.webflow.engine.Flow.onEvent(Flow.java:534) > > > org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205) > > > org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161) > > org.springframework.webflow.engine.State.enter(State.java:191) > > > org.springframework.webflow.engine.Transition.execute(Transition.java:212) > > > org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107) > > org.springframework.webflow.engine.Flow.onEvent(Flow.java:534) > > > org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205) > > > org.springframework.webflow.engine.impl.FlowExecutionImpl.signalEvent(FlowExecutionImpl.java:202) > > > org.springframework.webflow.executor.FlowExecutorImpl.resume(FlowExecutorImpl.java:222) > > > org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:111) > > > org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:165) > > > org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) > > > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) > > > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) > > > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) > > > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) > > > org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:637) > > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) > > > org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115) > > > org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48) > > > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) > > > > > > This message has been scanned for malware by Websense. www.websense.com > > -- > You are currently subscribed to [email protected] as: > [email protected] > To unsubscribe, change settings or access archives, see > http://www.ja-sig.org/wiki/display/JSG/cas-user Rene Schaetzl Director of ICT Services Varndean School -- You are currently subscribed to [email protected] as: [email protected] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/cas-user
