Hello all,
We recently upgraded from CAS 3.4.12 to 4.2.3. All our applications are
working fine with a single exception. Banner's BEIS (Banner Enterprise
Identity Service) is giving occasional errors to some users. The client gets a
"500 - Bad Request" error. The CAS server gets the error below (apologies for
the long Java stack traces). The error from the BEIS side is shown below the
CAS trace.
Any ideas on this would be appreciated!
2016-09-16 11:54:06,945 ERROR
[org.jasig.cas.support.saml.web.view.Saml10FailureResponseView] - Error
generating SAML response for service bannerauth.newpaltz.edu.
org.w3c.dom.ls.LSException: java.io.IOException: Broken pipe
at
com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl.write(DOMSerializerImpl.java:854)
~[?:1.8.0_91]
at
net.shibboleth.utilities.java.support.xml.SerializeSupport.writeNode(SerializeSupport.java:137)
~[java-support-7.1.1.jar:?]
at
net.shibboleth.utilities.java.support.xml.SerializeSupport.writeNode(SerializeSupport.java:114)
~[java-support-7.1.1.jar:?]
at
org.opensaml.soap.soap11.encoder.http.impl.HTTPSOAP11Encoder.doEncode(HTTPSOAP11Encoder.java:99)
~[opensaml-soap-impl-3.1.1.jar:?]
at
org.opensaml.messaging.encoder.AbstractMessageEncoder.encode(AbstractMessageEncoder.java:53)
~[opensaml-messaging-api-3.1.1.jar:?]
at
org.opensaml.messaging.encoder.servlet.BaseHttpServletResponseXMLMessageEncoder.encode(BaseHttpServletResponseXMLMessageEncoder.java:50)
~[opensaml-messaging-api-3.1.1.jar:?]
at
org.jasig.cas.support.saml.util.Saml10ObjectBuilder.encodeSamlResponse_aroundBody16(Saml10ObjectBuilder.java:245)
~[cas-server-support-saml-4.2.3.jar:4.2.3]
at
org.jasig.cas.support.saml.util.Saml10ObjectBuilder$AjcClosure17.run(Saml10ObjectBuilder.java:1)
~[cas-server-support-saml-4.2.3.jar:4.2.3]
at
org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:149)
~[aspectjweaver-1.8.6.jar:1.8.6]
at
org.jasig.inspektr.aspect.TraceLogAspect.traceMethod(TraceLogAspect.java:44)
~[inspektr-aspects-1.3.GA.jar:1.3.GA]
at
org.jasig.cas.support.saml.util.Saml10ObjectBuilder.encodeSamlResponse(Saml10ObjectBuilder.java:234)
~[cas-server-support-saml-4.2.3.jar:4.2.3]
at
org.jasig.cas.support.saml.web.view.AbstractSaml10ResponseView.renderMergedOutputModel(AbstractSaml10ResponseView.java:107)
~[cas-server-support-saml-4.2.3.jar:4.2.3]
at
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
~[spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1244)
~[spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
~[spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
~[spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
~[spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
~[spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
~[spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
~[servlet-api.jar:?]
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
~[spring-webmvc-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
~[servlet-api.jar:?]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
~[catalina.jar:8.0.36]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
~[catalina.jar:8.0.36]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
~[tomcat-websocket.jar:8.0.36]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
~[catalina.jar:8.0.36]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
~[catalina.jar:8.0.36]
at
org.apereo.cas.security.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:238)
~[cas-server-security-filter-2.0.6.jar:2.0.6]
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
~[spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
~[spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
~[catalina.jar:8.0.36]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
~[catalina.jar:8.0.36]
at
org.apereo.cas.security.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:261)
~[cas-server-security-filter-2.0.6.jar:2.0.6]
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
~[spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
~[spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
~[catalina.jar:8.0.36]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
~[catalina.jar:8.0.36]
at
org.jasig.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:62)
~[inspektr-common-1.3.GA.jar:1.3.GA]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
~[catalina.jar:8.0.36]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
~[catalina.jar:8.0.36]
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
~[spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
~[spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
~[spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
~[spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
~[catalina.jar:8.0.36]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
~[catalina.jar:8.0.36]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
~[catalina.jar:8.0.36]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
~[catalina.jar:8.0.36]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
~[catalina.jar:8.0.36]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
~[catalina.jar:8.0.36]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
~[catalina.jar:8.0.36]
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
~[catalina.jar:8.0.36]
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:676)
~[catalina.jar:8.0.36]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
~[catalina.jar:8.0.36]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
~[catalina.jar:8.0.36]
at
org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:873)
~[tomcat-coyote.jar:8.0.36]
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670)
~[tomcat-coyote.jar:8.0.36]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
~[tomcat-coyote.jar:8.0.36]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
~[tomcat-coyote.jar:8.0.36]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[?:1.8.0_91]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[?:1.8.0_91]
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
~[tomcat-util.jar:8.0.36]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]
Caused by: org.apache.catalina.connector.ClientAbortException:
java.io.IOException: Broken pipe
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:396)
~[catalina.jar:8.0.36]
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:426)
~[tomcat-util.jar:8.0.36]
at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:345)
~[catalina.jar:8.0.36]
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:320)
~[catalina.jar:8.0.36]
at
org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:110)
~[catalina.jar:8.0.36]
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:297) ~[?:1.8.0_91]
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) ~[?:1.8.0_91]
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.Printer.flush(Printer.java:324)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.XMLSerializer.endElementIO(XMLSerializer.java:413)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.XMLSerializer.serializeElement(XMLSerializer.java:1072)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.serializeNode(BaseMarkupSerializer.java:1192)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.serialize(BaseMarkupSerializer.java:410)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl.write(DOMSerializerImpl.java:812)
~[?:1.8.0_91]
... 62 more
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:1.8.0_91]
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:1.8.0_91]
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[?:1.8.0_91]
at sun.nio.ch.IOUtil.write(IOUtil.java:65) ~[?:1.8.0_91]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
~[?:1.8.0_91]
at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124)
~[tomcat-coyote.jar:8.0.36]
at
org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)
~[tomcat-coyote.jar:8.0.36]
at
org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:172)
~[tomcat-coyote.jar:8.0.36]
at org.apache.coyote.ajp.AjpNioProcessor.output(AjpNioProcessor.java:140)
~[tomcat-coyote.jar:8.0.36]
at
org.apache.coyote.ajp.AbstractAjpProcessor.writeResponseMessage(AbstractAjpProcessor.java:1754)
~[tomcat-coyote.jar:8.0.36]
at
org.apache.coyote.ajp.AbstractAjpProcessor.writeData(AbstractAjpProcessor.java:1673)
~[tomcat-coyote.jar:8.0.36]
at
org.apache.coyote.ajp.AbstractAjpProcessor.access$300(AbstractAjpProcessor.java:62)
~[tomcat-coyote.jar:8.0.36]
at
org.apache.coyote.ajp.AbstractAjpProcessor$SocketOutputBuffer.doWrite(AbstractAjpProcessor.java:1820)
~[tomcat-coyote.jar:8.0.36]
at org.apache.coyote.Response.doWrite(Response.java:491)
~[tomcat-coyote.jar:8.0.36]
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:391)
~[catalina.jar:8.0.36]
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:426)
~[tomcat-util.jar:8.0.36]
at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:345)
~[catalina.jar:8.0.36]
at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:320)
~[catalina.jar:8.0.36]
at
org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:110)
~[catalina.jar:8.0.36]
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:297) ~[?:1.8.0_91]
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) ~[?:1.8.0_91]
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.Printer.flush(Printer.java:324)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.XMLSerializer.endElementIO(XMLSerializer.java:413)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.XMLSerializer.serializeElement(XMLSerializer.java:1072)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.serializeNode(BaseMarkupSerializer.java:1192)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.serialize(BaseMarkupSerializer.java:410)
~[?:1.8.0_91]
at
com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl.write(DOMSerializerImpl.java:812)
~[?:1.8.0_91]
... 62 more
2016-09-16 11:54:08,020 INFO [org.jasig.cas.CentralAuthenticationServiceImpl] -
Granted ticket [REDACTED] for service
[http://bannerauth.newpaltz.edu:/ssomanager/c/SSB?pkg=bwskflib.P_SelDefTerm%3Fcalling_proc_name%3Dbwskfreg.P_AltPin]
and principal [REDACTED]
2016-09-16 11:54:08,022 INFO
[org.jasig.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - Audit trail
record BEGIN
There is then a service ticket created, and a pair of service ticket validated
messages in the CAS logs validating that service ticket.
On the BEIS side, the following is seen for the same connection:
####<Sep 16, 2016 11:54:06 AM EDT> <Error> <HTTP> <bannerauth.newpaltz.edu>
<Ideu_SSO> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default
(self-tuning)'> <<WLS Kernel>> <> <> <1474041246942> <BEA-101020>
<[ServletContext@946199429[app:sso-manager module:ssomanager path:/ssomanager
spec-version:2.5]] Servlet failed with Exception
java.lang.RuntimeException: java.io.FileNotFoundException: Response: '400: Bad
Request' for url:
'https://login.newpaltz.edu/cas/samlValidate?TARGET=http%3A%2F%2Fbannerauth.newpaltz.edu%3A%2Fssomanager%2Fc%2FSSB%3Fpkg%3Dbwskflib.P_SelDefTerm%253Fcalling_proc_name%253Dbwskfreg.P_AltPin'
at
org.jasig.cas.client.validation.Saml11TicketValidator.retrieveResponseFromServer(Saml11TicketValidator.java:203)
at
org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:178)
at
org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:132)
at com.sghe.sso.client.web.filter.SSOValidationFilter.doFilter(Unknown
Source)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at
org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:102)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at
com.sghe.sso.client.web.filter.QueryParamStorageFilter.doFilter(Unknown Source)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at
weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3748)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3714)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2283)
at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2182)
at
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused By: java.io.FileNotFoundException: Response: '400: Bad Request' for url:
'https://login.newpaltz.edu/cas/samlValidate?TARGET=http%3A%2F%2Fbannerauth.newpaltz.edu%3A%2Fssomanager%2Fc%2FSSB%3Fpkg%3Dbwskflib.P_SelDefTerm%253Fcalling_proc_name%253Dbwskfreg.P_AltPin'
at
weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:544)
at
weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:37)
at
org.jasig.cas.client.validation.Saml11TicketValidator.retrieveResponseFromServer(Saml11TicketValidator.java:191)
at
org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:178)
at
org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:132)
at com.sghe.sso.client.web.filter.SSOValidationFilter.doFilter(Unknown
Source)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at
org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:102)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at
com.sghe.sso.client.web.filter.QueryParamStorageFilter.doFilter(Unknown Source)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at
weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3748)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3714)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2283)
at
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2182)
at
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Paul Chauvet
Information Security Officer
State University of New York at New Paltz
845-257-3828
[email protected]<mailto:[email protected]>
[emlogo]
--
You received this message because you are subscribed to the Google Groups "CAS
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/BN6PR2001MB096285CCBA5C3A16063341D2A7F30%40BN6PR2001MB0962.namprd20.prod.outlook.com.
For more options, visit https://groups.google.com/a/apereo.org/d/optout.