Webscript & CAS [Résolu]

cancel
Showing results for 
Search instead for 
Did you mean: 
ericc
Member II

Webscript & CAS [Résolu]

Bonjour,
je bloque sur un soucis de configuration (je pense). J'ai configuré Alfresco pour fonctionner avec CAS & LDAP.

Le soucis est que je souhaite pouvoir appeler un webscript mais sans forcément être authentifié à Alfresco. Problème : sans CAS ça fonctionne très bien, avec il me redirige automatiquement vers le log CAS.
Une idée d'où ça peut venir? (le web.xml? J'ai cherché mais rien vu qui pourrait m'aider).
4 Replies
berlioux
Member II

Re: Webscript & CAS [Résolu]

Bonjour, une solution serat de retirer le filtre suivant du web.xml, et de n'appliquer le filtre que pour les appels aux webscripts de typt "wcservice" :
   <filter-mapping>
      <filter-name>CAS Authentication</filter-name>
      <url-pattern>/service/*</url-pattern>
   </filter-mapping>
ericc
Member II

Re: Webscript & CAS [Résolu]

C'est le premier test que j'ai fait mais sans succès.

Dans mon web.xml j'ai ça (plus bas) et il me demande toujours l'authentification CAS.

<filter-mapping>
      <filter-name>Authentication Filter</filter-name>
      <url-pattern>/faces/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
      <filter-name>CAS Authentication</filter-name>
      <url-pattern>/faces/*</url-pattern>
   </filter-mapping>

   <filter-mapping>
      <filter-name>Authentication Filter</filter-name>
      <url-pattern>/service/*</url-pattern>
   </filter-mapping>
   <!–
   <filter-mapping>
      <filter-name>CAS Authentication</filter-name>
      <url-pattern>/service/*</url-pattern>
   </filter-mapping>
    –>
  
   <filter-mapping>
      <filter-name>Authentication Filter</filter-name>
      <url-pattern>/navigate/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
      <filter-name>CAS Authentication</filter-name>
      <url-pattern>/navigate/*</url-pattern>
   </filter-mapping>
  
   <filter-mapping>
      <filter-name>Authentication Filter</filter-name>
      <url-pattern>/command/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
      <filter-name>CAS Authentication</filter-name>
      <url-pattern>/command/*</url-pattern>
   </filter-mapping>
  
   <filter-mapping>
      <filter-name>Authentication Filter</filter-name>
      <url-pattern>/template/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
      <filter-name>CAS Authentication</filter-name>
      <url-pattern>/template/*</url-pattern>
   </filter-mapping>
  
   <filter-mapping>
      <filter-name>Authentication Filter</filter-name>
      <url-pattern>/download/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
      <filter-name>CAS Authentication</filter-name>
      <url-pattern>/download/*</url-pattern>
   </filter-mapping>
berlioux
Member II

Re: Webscript & CAS [Résolu]

Bonjour.
Attention, par défaut dans la configuration CAS exposée sur le wiki, le filtre "Authentication Filter" définit une autentification via CAS !

   <filter>
      <filter-name>Authentication 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://cas-server.domain.tld:8443/cas/login</param-value>
      </init-param>
      <init-param>
          <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
          <param-value>https://cas-server.domain.tld:8443/cas/serviceValidate</param-value>
      </init-param>
      <init-param>
          <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
          <param-value>alfresco-server.domain.tld:8080</param-value>
      </init-param>

      <!–<filter-class>org.alfresco.web.app.servlet.AuthenticationFilter</filter-class>–>

      <!– For Novell IChain support use the following filter –>
      <!–
        <filter-class>org.alfresco.web.app.servlet.NovellIChainsHTTPRequestAuthenticationFilter</filter-class>
      –>
     
      <!– For NTLM authentication support use the following filter –>
      <!–
        <filter-class>org.alfresco.web.app.servlet.NTLMAuthenticationFilter</filter-class>
      –>
   </filter>

   <filter>
      <filter-name>CAS Authentication</filter-name>
      <filter-class>org.alfresco.web.app.servlet.CasAuthenticationFilter</filter-class>
   </filter>

Il faut passer cette définition dans le filtre "Cas Authentication", et remettre la définition par défaut (voir le web.xml d'alfresco du alfresco.war) pour "Authentication Filter" !
ericc
Member II

Re: Webscript & CAS [Résolu]

En effet, merci beaucoup!

En passant par wcservie/ au lieu de service/ il est aussi possible d'avoir l'authentification alfresco sans CAS aussi.