Table of Contents

Alfresco

Présentation

Alfresco est un logiciel ECM/BPM.

Depuis la version 4.0, il permet facilement de configurer un SSO grace au sous-système d'authentification.

Pour les versions plus anciennes, se référer à cette documentation : https://wiki.alfresco.com/wiki/SSO

Configuration

Alfresco

La documentation officielle se trouve ici : http://docs.alfresco.com/4.0/tasks/auth-alfrescoexternal-sso.html

Les fichiers suivants sont nécessaires dans l'installation Alfresco :

The first will allow one to configure SSO for the alfresco webapp, and the other for the share webapp.

Éditer d'abord alfresco-global.properties et ajouter :

### SSO ###
authentication.chain=external1:external
external.authentication.enabled=true
external.authentication.defaultAdministratorUserNames=
external.authentication.proxyUserName=
external.authentication.proxyHeader=Auth-User
external.authentication.userIdPattern=

Éditer ensuite share-config-custom.xml et décommenter la dernière partie. Dans le "<endpoint>", changer la valeur de <connector-id> en alfrescoHeader et changer la valeur de <userHeader> en Auth-User :

   <config evaluator="string-compare" condition="Remote">
      <remote>
          <keystore>
             <path>alfresco/web-extension/alfresco-system.p12</path>
             <type>pkcs12</type>
             <password>alfresco-system</password>
         </keystore>
 
         <connector>
            <id>alfrescoCookie</id>
            <name>Alfresco Connector</name>
            <description>Connects to an Alfresco instance using cookie-based authentication</description>
            <class>org.alfresco.web.site.servlet.SlingshotAlfrescoConnector</class>
         </connector>
 
         <connector>
            <id>alfrescoHeader</id>
            <name>Alfresco Connector</name>
            <description>Connects to an Alfresco instance using header and cookie-based authentication</description>
            <class>org.alfresco.web.site.servlet.SlingshotAlfrescoConnector</class>
            <userHeader>Auth-User</userHeader>
         </connector>
 
         <endpoint>
            <id>alfresco</id>
            <name>Alfresco - user access</name>
            <description>Access to Alfresco Repository WebScripts that require user authentication</description>
            <connector-id>alfrescoHeader</connector-id>
            <endpoint-url>http://localhost:8080/alfresco/wcs</endpoint-url>
            <identity>user</identity>
            <external-auth>true</external-auth>
         </endpoint>
      </remote>
   </config>

Un redémarrage de Tomcat est nécessaire pour appliquer les changements.

On peut ensuite se connecter avec un simple en-tête HTTP. Il faut restreindre l'accès à Alfresco à LL::NG.

LL::NG

Renseigner simplement l'en-tête Auth-User avec l'attribut qui contient le nom de login, par exemple $uid.

On peut intercepter les déconnexions avec cette règle : ^/share/page/dologout ⇒ logout_app_sso

Autres documents