CAS Proxy Authentication.
Brewster, Jeffrey
brewj at vt.edu
Mon Jul 16 10:28:28 EDT 2007
Thanks Andrew. Just for the record my two descriptors turned out
as follows:
------------------ FrontEnd ------------------
<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://abc.vt.edu/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://abc.vt.edu/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>abc.vt.edu</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.proxyCallbackUrl</param-na
me>
<param-value>https://abc.vt.edu/CasProxyDemo-FrontEnd/CasProxyServlet</p
aram-value>
</init-param>
</filter>
.......
<servlet>
<servlet-name>ProxyTicketReceptor</servlet-name>
<servlet-class>edu.yale.its.tp.cas.proxy.ProxyTicketReceptor</servlet-cl
ass>
<init-param>
<param-name>edu.yale.its.tp.cas.proxyUrl</param-name>
<param-value>https://abc.vt.edu/cas/proxy</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ProxyTicketReceptor</servlet-name>
<url-pattern>/CasProxyServlet</url-pattern>
</servlet-mapping>
------------------ BackEnd ------------------
<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://abc.vt.edu/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://abc.vt.edu/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>abc.vt.edu</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.authorizedProxy</param-nam
e>
<param-value>https://abc.vt.edu/CasProxyDemo-FrontEnd/CasProxyServlet</p
aram-value>
</init-param>
</filter>
Jeff Brewster
Virginia Tech
-----Original Message-----
From: cas-bounces at tp.its.yale.edu [mailto:cas-bounces at tp.its.yale.edu]
On Behalf Of apetro at unicon.net
Sent: Friday, July 13, 2007 10:43 AM
To: Yale CAS mailing list
Subject: Re: CAS Proxy Authentication.
Howdy Jeff,
Much angst has been created in the world by issues of what
meta-characters
to use to end lines, and the fact that these differ across platforms.
Trailing slashes on URLs haven't been much better for mankind.
My guess is that this problem is one of trailing slashes, with the
trailing slash failing to appear on the cas/login "service" request
parameter value but appearing on the cas/serviceValidate "service"
request
parameter value.
You can avoid this sort of problem by using a more specific URL in your
back-end application to be requested by your front-end application.
"https://abc.vt.edu/CasProxyDemo-BackEnd/" is easier to have problems
with
than is "https://abc.vt.edu/CasProxyDemo-BackEnd/proxy_me" or the like.
(This isn't to say that you *can't* sucessfully proxy CAS authenticate
to
URLs with trailing slashes, only that it's easier to goof up the
configuration of doing so and so I try to avoid it when I can.)
Specifically, I see in your front-end JSP you get a proxy ticket for URL
"https://abc.vt.edu/CasProxyDemo-BackEnd". In your back-end CASFilter
logging, I see that it tried to validate with the trailing slash,
service=[https%3A%2F%2Fabc.vt.edu%2FCasProxyDemo-BackEnd%2F] . Since
these don't exactly match, the ticket fails to validate for the reason
that they don't exactly match.
[
<cas:authenticationFailure code='INVALID_SERVICE'>
ticket 'ST-3-QE511caPVASyagy1l2ElXfdQXe7PWD0KgtV-20' does not match
supplied service
</cas:authenticationFailure>
]
PS: I would like to see CAS server have a configuration (turned on by
default), to make this authentication failure message much more
explicit,
naming in the error message both the service URL presented at ticket
validation and at ticket acquisition, so that this problem is much
easier
to debug for application developers. I have entered this feature
request
as CAS Server Jira ticket CAS-536
http://www.ja-sig.org/issues/browse/CAS-536 This issue in CAS
integrations seems to come up over and over and a more generous error
response to application developers could go a long way to help them cope
with this configuration nuance.
PPS:
The next problem once you fix the service parameter problem is that you
haven't named your front end application's proxy ticket receptor URL as
the authorized proxy to your back-end application. The back-end
application configuration has authorized
"https://abc.vt.edu/CasProxyDemo-FrontEnd" yet the front-end callback
URL
is "https://abc.vt.edu/CasProxyDemo-FrontEnd/CasProxyServlet". That's
not
going to work until the back-end application authorizes the full URL
"https://abc.vt.edu/CasProxyDemo-FrontEnd/CasProxyServlet".
Andrew
> Hi all,
>
>
>
> I am attempting to set up proxy authentication using CAS. I have two
> simplified
>
> servlet applications; "CasProxyDemo-FrontEnd" and
> "CasProxyDemo-BackEnd".
>
> I am also using a local instance of CAS. I want to log into
>
> CasProxyDemo-FrontEnd and have a jsp page that includes a page from
>
> "CasProxyDemo-BackEnd". I am using a servlet in CasProxyDemo-FrontEnd
>
> to get the proxyTicket like so:
>
>
>
> CASReceipt receipt =
>
> (CASReceipt)request.getSession().
>
> getAttribute("edu.yale.its.tp.cas.client.filter.receipt");
>
>
>
> String proxyTicket =
>
> ProxyTicketReceptor.getProxyTicket(receipt.getPgtIou(),
>
> "https://abc.vt.edu/CasProxyDemo-BackEnd");
>
>
>
> I then pass the value of proxyTicket to my jsp page which does the
> import like:
>
> <c:import
>
url="https://abc.vt.edu/CasProxyDemo-BackEnd/?ticket=ST-3-QE511caPVASyag
> y1l2ElXfdQXe7PWD0KgtV-20" />
>
>
>
>
>
> My descriptors are:
>
>
>
> ----------------------------------------------------------------
>
> CasProxyDemo-FrontEnd Descriptor
>
> ----------------------------------------------------------------
>
>
>
> <filter>
>
> <filter-name>CAS Filter</filter-name>
>
>
>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
>
> <init-param>
>
>
> <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
>
> <param-value>https://abc.vt.edu/cas/login</param-value>
>
> </init-param>
>
> <init-param>
>
>
> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
>
> <param-value>https://abc.vt.edu/cas/proxyValidate</param-value>
>
> </init-param>
>
> <init-param>
>
>
> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
>
> <param-value>abc.vt.edu</param-value>
>
> </init-param>
>
> <init-param>
>
>
>
<param-name>edu.yale.its.tp.cas.client.filter.proxyCallbackUrl</param-na
> me>
>
>
>
<param-value>https://abc.vt.edu/CasProxyDemo-FrontEnd/CasProxyServlet</p
> aram-value>
>
> </init-param>
>
> </filter>
>
>
>
> <filter-mapping>
>
> <filter-name>CAS Filter</filter-name>
>
> <url-pattern>/*</url-pattern>
>
> </filter-mapping>
>
>
>
> .....
>
>
>
> <servlet>
>
> <servlet-name>ProxyTicketReceptor</servlet-name>
>
>
>
<servlet-class>edu.yale.its.tp.cas.proxy.ProxyTicketReceptor</servlet-cl
> ass>
>
> <init-param>
>
> <param-name>edu.yale.its.tp.cas.proxyUrl</param-name>
>
> <param-value>https://abc.vt.edu/cas/proxy</param-value>
>
> </init-param>
>
> </servlet>
>
>
>
> <servlet-mapping>
>
> <servlet-name>ProxyTicketReceptor</servlet-name>
>
> <url-pattern>/CasProxyServlet</url-pattern>
>
> </servlet-mapping>
>
>
>
> ----------------------------------------------------------------
>
> CasProxyDemo-BackEnd Descriptor
>
> ----------------------------------------------------------------
>
>
>
> <filter>
>
> <filter-name>CAS Filter</filter-name>
>
>
>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
>
> <init-param>
>
>
> <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
>
> <param-value>https://abc.vt.edu/cas/login</param-value>
>
> </init-param>
>
> <init-param>
>
>
> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
>
> <param-value>https://abc.vt.edu/cas/proxyValidate</param-value>
>
> </init-param>
>
> <init-param>
>
>
> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
>
> <param-value>abc.iad.vt.edu</param-value>
>
> </init-param>
>
> <init-param>
>
>
> <param-name>edu.yale.its.tp.cas.client.filter.wrapRequest</param-name>
>
> <param-value>true</param-value>
>
> </init-param>
>
> <init-param>
>
>
>
<param-name>edu.yale.its.tp.cas.client.filter.authorizedProxy</param-nam
> e>
>
>
> <param-value>https://abc.vt.edu/CasProxyDemo-FrontEnd</param-value>
>
> </init-param>
>
> </filter>
>
>
>
> <filter-mapping>
>
> <filter-name>CAS Filter</filter-name>
>
> <url-pattern>/*</url-pattern>
>
> </filter-mapping>
>
>
>
> ----------------------------------------------------------------
>
> This is my log output from CasProxyDemo-FrontEnd.log
>
> ----------------------------------------------------------------
>
>
>
> 2007-07-12 11:34:05,523 [main] DEBUG
> edu.yale.its.tp.cas.client.filter.CASFilter - CASFilter initialized
as:
> [[CASFilter: casGateway=false wrapRequest=false
> casAuthorizedProxies=[[]] casLogin=[https://abc.vt.edu/cas/login]
>
casProxyCallbackUrl=[https://abc.vt.edu/CasProxyDemo-FrontEnd/CasProxySe
> rvlet] casServerName=[abc.vt.edu]
> casValidate=[https://abc.vt.edu/cas/proxyValidate]]
>
> 2007-07-12 11:35:16,507 [http-443-Processor25] DEBUG
> edu.yale.its.tp.cas.client.filter.CASFilter - Redirecting browser to
>
[https://abc.vt.edu/cas/login?service=https%3A%2F%2Fabc.vt.edu%2FCasProx
> yDemo-FrontEnd%2Fstart)
>
> 2007-07-12 11:35:21,757 [http-443-Processor25] DEBUG
> edu.yale.its.tp.cas.client.filter.CASFilter - about to validate
> ProxyTicketValidator:
[[edu.yale.its.tp.cas.client.ProxyTicketValidator
> proxyList=[null] [edu.yale.its.tp.cas.client.ServiceTicketValidator
> casValidateUrl=[https://abc.vt.edu/cas/proxyValidate]
>
proxyCallbackUrl=[https://abc.vt.edu/CasProxyDemo-FrontEnd/CasProxyServl
> et] ticket=[ST-2-sSvi3zj7SoF1fwJniuTcyScbhMyuYBuUPaK-20]
> service=[https%3A%2F%2Fabc.vt.edu%2FCasProxyDemo-FrontEnd%2Fstart]
> renew=false]]]
>
> 2007-07-12 11:35:22,445 [http-443-Processor22] DEBUG
> edu.yale.its.tp.cas.client.filter.CASFilter - Redirecting browser to
>
[https://abc.vt.edu/cas/login?service=https%3A%2F%2Fabc.vt.edu%2FCasProx
> yDemo-FrontEnd%2FCasProxyServlet)
>
> 2007-07-12 11:35:22,523 [http-443-Processor22] DEBUG
> edu.yale.its.tp.cas.proxy.ProxyTicketReceptor - adding
> pgtIou=[PGTIOU-2-t42nPMmVDtvhYobbW6ziKASIzJ3IV4t27B0],
> pgt=[edu.yale.its.tp.cas.proxy.ProxyGrantingTicket
> pgtId=[TGT-3-g3Pba5bNRg64HeMEnR99dyeuWHSvrjtbapa-50]
> casProxyUrl=[https://abc.vt.edu/cas/proxy]] to the cache.
>
> 2007-07-12 11:35:23,117 [http-443-Processor24] ERROR
>
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/CasProxy
> Demo-FrontEnd].[jsp] - Servlet.service() for servlet jsp threw
> exception
>
> java.io.IOException: Server returned HTTP response code: 500 for URL:
>
https://abc.vt.edu/CasProxyDemo-BackEnd/?ticket=ST-3-QE511caPVASyagy1l2E
> lXfdQXe7PWD0KgtV-20
>
> at
>
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnec
> tion.java:1149)
>
> at
>
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsUR
> LConnectionImpl.java:234)
>
> at
>
org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireReader(
> ImportSupport.java:331)
>
> at
>
org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(
> ImportSupport.java:241)
>
> at
>
org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(Impor
> tSupport.java:161)
>
> at
>
org.apache.jsp.frontEnd_jsp._jspx_meth_c_005fimport_005f0(frontEnd_jsp.j
> ava:119)
>
> at org.apache.jsp.frontEnd_jsp._jspService(frontEnd_jsp.java:91)
>
> at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> at
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.ja
> va:328)
>
> at
>
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
>
> at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> tionFilterChain.java:269)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> erChain.java:188)
>
> at
>
edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:317)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> tionFilterChain.java:215)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> erChain.java:188)
>
> at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
> e.java:210)
>
> at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
> e.java:174)
>
> at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :127)
>
> at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :117)
>
> at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
> java:108)
>
> at
>
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
> 51)
>
> at
>
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:87
> 0)
>
> at
>
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
> essConnection(Http11BaseProtocol.java:665)
>
> at
>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
> .java:528)
>
> at
>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
> erWorkerThread.java:81)
>
> at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
> .java:685)
>
> at java.lang.Thread.run(Thread.java:595)
>
>
>
> ----------------------------------------------------------------
>
> And here is my log output from CasProxyDemo-BackEnd.log.
>
> ----------------------------------------------------------------
>
>
>
> 2007-07-12 11:34:06,070 [main] DEBUG
> edu.yale.its.tp.cas.client.filter.CASFilter - CASFilter initialized
as:
> [[CASFilter: casGateway=false wrapRequest=true
> casAuthorizedProxies=[[https://abc.vt.edu/CasProxyDemo-FrontEnd]]
> casLogin=[https://abc.vt.edu/cas/login] casServerName=[abc.vt.edu]
> casValidate=[https://abc.vt.edu/cas/proxyValidate]]
>
> 2007-07-12 11:35:22,898 [http-443-Processor23] DEBUG
> edu.yale.its.tp.cas.client.filter.CASFilter - about to validate
> ProxyTicketValidator:
[[edu.yale.its.tp.cas.client.ProxyTicketValidator
> proxyList=[null] [edu.yale.its.tp.cas.client.ServiceTicketValidator
> casValidateUrl=[https://abc.vt.edu/cas/proxyValidate]
> ticket=[ST-3-QE511caPVASyagy1l2ElXfdQXe7PWD0KgtV-20]
> service=[https%3A%2F%2Fabc.vt.edu%2FCasProxyDemo-BackEnd%2F]
> renew=false]]]
>
> 2007-07-12 11:35:22,976 [http-443-Processor23] ERROR
> edu.yale.its.tp.cas.client.CASReceipt - validation of
> [[edu.yale.its.tp.cas.client.ProxyTicketValidator proxyList=[null]
> [edu.yale.its.tp.cas.client.ServiceTicketValidator
> casValidateUrl=[https://abc.vt.edu/cas/proxyValidate]
> ticket=[ST-3-QE511caPVASyagy1l2ElXfdQXe7PWD0KgtV-20]
> service=[https%3A%2F%2Fabc.vt.edu%2FCasProxyDemo-BackEnd%2F]
> errorCode=[INVALID_SERVICE] errorMessage=[ticket
> 'ST-3-QE511caPVASyagy1l2ElXfdQXe7PWD0KgtV-20' does not match supplied
> service] renew=false entireResponse=[<cas:serviceResponse
> xmlns:cas='http://www.yale.edu/tp/cas'>
>
> <cas:authenticationFailure code='INVALID_SERVICE'>
>
> ticket 'ST-3-QE511caPVASyagy1l2ElXfdQXe7PWD0KgtV-20' does
> not match supplied service
>
> </cas:authenticationFailure>
>
> </cas:serviceResponse>
>
> ]]]] was not successful.
>
> 2007-07-12 11:35:22,976 [http-443-Processor23] ERROR
> edu.yale.its.tp.cas.client.filter.CASFilter -
> edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to
> validate ProxyTicketValidator
> [[edu.yale.its.tp.cas.client.ProxyTicketValidator proxyList=[null]
> [edu.yale.its.tp.cas.client.ServiceTicketValidator
> casValidateUrl=[https://abc.vt.edu/cas/proxyValidate]
> ticket=[ST-3-QE511caPVASyagy1l2ElXfdQXe7PWD0KgtV-20]
> service=[https%3A%2F%2Fabc.vt.edu%2FCasProxyDemo-BackEnd%2F]
> errorCode=[INVALID_SERVICE] errorMessage=[ticket
> 'ST-3-QE511caPVASyagy1l2ElXfdQXe7PWD0KgtV-20' does not match supplied
> service] renew=false entireResponse=[<cas:serviceResponse
> xmlns:cas='http://www.yale.edu/tp/cas'>
>
> <cas:authenticationFailure code='INVALID_SERVICE'>
>
> ticket 'ST-3-QE511caPVASyagy1l2ElXfdQXe7PWD0KgtV-20' does
> not match supplied service
>
> </cas:authenticationFailure>
>
> </cas:serviceResponse>
>
> ]]]]
>
> 2007-07-12 11:35:22,992 [http-443-Processor23] ERROR
>
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/CasProxy
> Demo-BackEnd].[jsp] - Servlet.service() for servlet jsp threw
exception
>
> edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to
> validate ProxyTicketValidator
> [[edu.yale.its.tp.cas.client.ProxyTicketValidator proxyList=[null]
> [edu.yale.its.tp.cas.client.ServiceTicketValidator
> casValidateUrl=[https://abc.vt.edu/cas/proxyValidate]
> ticket=[ST-3-QE511caPVASyagy1l2ElXfdQXe7PWD0KgtV-20]
> service=[https%3A%2F%2Fabc.vt.edu%2FCasProxyDemo-BackEnd%2F]
> errorCode=[INVALID_SERVICE] errorMessage=[ticket
> 'ST-3-QE511caPVASyagy1l2ElXfdQXe7PWD0KgtV-20' does not match supplied
> service] renew=false entireResponse=[<cas:serviceResponse
> xmlns:cas='http://www.yale.edu/tp/cas'>
>
> <cas:authenticationFailure code='INVALID_SERVICE'>
>
> ticket 'ST-3-QE511caPVASyagy1l2ElXfdQXe7PWD0KgtV-20' does
> not match supplied service
>
> </cas:authenticationFailure>
>
> </cas:serviceResponse>
>
> ]]]]
>
> at
> edu.yale.its.tp.cas.client.CASReceipt.getReceipt(CASReceipt.java:62)
>
> at
>
edu.yale.its.tp.cas.client.filter.CASFilter.getAuthenticatedUser(CASFilt
> er.java:455)
>
> at
>
edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:378)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
> tionFilterChain.java:215)
>
> at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
> erChain.java:188)
>
> at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
> e.java:210)
>
> at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
> e.java:174)
>
> at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :127)
>
> at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :117)
>
> at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
> java:108)
>
> at
>
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:1
> 51)
>
> at
>
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:87
> 0)
>
> at
>
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc
> essConnection(Http11BaseProtocol.java:665)
>
> at
>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint
> .java:528)
>
> at
>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow
> erWorkerThread.java:81)
>
> at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
> .java:685)
>
> at java.lang.Thread.run(Thread.java:595)
>
>
>
> Judging by the log output, I think things are working as expected up
to
> the
>
> point at which the CasProxyDemo-BackEnd app. trys to validate the
ticket
> I appended to the
>
> url. It states that ticket is not valid for the service -
> CasProxyDemo-BackEnd.
>
> My hope is that this is just a simple config param issue. Any help
would
> be greatly appreciated.
>
> Thanks in advance.
>
>
>
> Jeff Brewster
>
> Virginia Tech
>
> _______________________________________________
> Yale CAS mailing list
> cas at tp.its.yale.edu
> http://tp.its.yale.edu/mailman/listinfo/cas
>
_______________________________________________
Yale CAS mailing list
cas at tp.its.yale.edu
http://tp.its.yale.edu/mailman/listinfo/cas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://tp.its.yale.edu/pipermail/cas/attachments/20070716/e987511d/attachment.html
More information about the cas
mailing list