Alfresco CAS Web服务调用不适用于Web应用程序

时间:2014-02-10 06:58:23

标签: alfresco cas

我正在尝试验证针对CAS的票证。我有一个工作的CAS服务器和2个服务。服务A是露天服务器,服务B是我自己的Spring Web App。

我登录B并被重定向到CAS登录,我登录,我在Web App B中就好了。一切都快乐。 我可以SSO进入Alfresco探险家就好了。 (也就是说,我点击一个链接,我已经被淹没了)All Happy。 在我的网络应用程序B中,我在露天(A)中调用RESTful api,我很伤心。 我可以把REST网址调用放到我的浏览器中,我得到了预期的结果,我很困惑。

如何从我的网络应用B调用此URL?我将票证添加到URL的末尾,如下所示:

https://example.org:8443/alfresco/service/workflow/getTaskList?userId=me&ticket=ST-6-ayiC6vVX3yEBQcFB12sj-xxx.org

我的Web.xml设置如下:

<filter>
  <filter-name>Authentication Filter</filter-name>
  <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
  <init-param>
     <param-name>casServerLoginUrl</param-name>
     <param-value>https://example.org:7443/cas/login</param-value>
  </init-param>
  <init-param>
     <param-name>serverName</param-name>
     <param-value>https://example.org:8443</param-value>
  </init-param>
 </filter>

 <filter>
  <filter-name>CAS Validation Filter</filter-name>
  <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
  <init-param>
     <param-name>casServerUrlPrefix</param-name>
     <param-value>https://example.org:7443/cas</param-value>
  </init-param>
  <init-param>
     <param-name>serverName</param-name>
     <param-value>https://example.org:8443</param-value>
  </init-param>
 </filter>

 <filter>
   <filter-name>Alfresco CAS Authentication Filter</filter-name>
   <filter-class>org.xxx.alfresco.repository.extension.web.app.servlet.CASAuthenticationFilter</filter-class>
 </filter>

使用我的过滤器映射来完成这样的web服务:

 <filter-mapping>
  <filter-name>Authentication Filter</filter-name>
  <url-pattern>/service/*</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>CAS Validation Filter</filter-name>
  <url-pattern>/service/*</url-pattern>
 </filter-mapping>
 <filter-mapping>
  <filter-name>Alfresco CAS Authentication Filter</filter-name>
  <url-pattern>/service/*</url-pattern>
 </filter-mapping>

但是随着调试的进行,我可以看到我甚至没有进入我的CASAuthenticationFilter。错误由Cas20ProxyReceivingTicketValidationFilter开始。这是一个例外:

2014年2月10日上午1:56:17 org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter doFilter 警告:org.jasig.cas.client.validation.TicketValidationException:                 机票'ST-6-ayiC6vVX3yEBQcFB12sj-xxx.org'无法识别

Any Ideas?

0 个答案:

没有答案