Table of Contents

Liferay

Présentation

Liferay est un portail d'entreprise.

Liferay peut utiliser LL::NG comme fournisseur SSO mais il faut gérer la création des comptes utilisateurs :

Bien sûr, l'integration est complète si le serveur LDAP est utilisé comme base de données des utilisateurs dans LL::NG et Liferay.

Si le compte n'est pas créé ou ne peut être créé par un import LDAP, la connexion à Liferay sera refusée. Avec LDAP, login, mail, nom et prénom dont des attributs exigés. Si l'un est manquant, le compte ne sera pas créé.

Cette documentation explique seulement comment activer la partie SSO. Se reporter à la documentation Liferay pour activer l'alimentation LDAP.

Configuration

Administration Liferay

Accès à Liferay (première connexion):

Se connecter comme administrateur:

Aller dans My account:

Aller dans Portal » Settings:

Aller dans Configuration » Authentication:

Dans General, remplir au moins les informations suivantes :

Il est conseillé de désactiver les autres options, car les utilisateurs utiliseront le portail LL::NG pour modifier ou réinitialiser leur mot-de-passe.

Il faut activer l'authentification LDAP sinon l'authentification SSO ne marchera pas. Faire ceci dans le panneau de contrôle ou dans le fichier de configuration :
ldap.auth.enabled=true

Utiliser ensuite le paragraphe SiteMinder pour configurer le SSO :

Ne pas oublier de sauvegarder les changements !

Hôte virtuel Liferay

Configurer l'hôte virtuel Liferay comme n'importe quel autre hôte virtuel protégé.

<VirtualHost *:80>
       ServerName liferay.example.com
 
       PerlHeaderParserHandler Lemonldap::NG::Handler
 
       ...
 
</VirtualHost>
server {
  listen 80;
  server_name liferay.example.com;
  root /path/to/application;
  # Requête interne d'authentification
  location = /lmauth {
    internal;
    include /etc/nginx/fastcgi_params;
    fastcgi_pass unix:/var/run/llng-fastcgi-server/llng-fastcgi.sock;
    # Ignorer les données postées
    fastcgi_pass_request_body  off;
    fastcgi_param CONTENT_LENGTH "";
    # Conserver le nom d'hôte original
    fastcgi_param HOST $http_host;
    # Conserver la requête originale (le serveur LLNG va recevoir /llauth)
    fastcgi_param X_ORIGINAL_URI  $request_uri;
  } 
 
  # Requêtes clients
  location / {
    auth_request /lmauth;
    auth_request_set $lmremote_user $upstream_http_lm_remote_user;
    auth_request_set $lmlocation $upstream_http_location;
    error_page 401 $lmlocation;
    try_files $uri $uri/ =404;
 
    ...
 
    include /etc/lemonldap-ng/nginx-lua-headers.conf;
  }
  location / {
    try_files $uri $uri/ =404;
  }
}

Hôte virtuel Liferay dans le manager

Aller dans le manager et créer un nouvel hôte virtuel pour Liferay.

Configurer simplement la règle d'accès. Il est possible d'ajouter une règle pour la déconnexion :

 ^/c/portal/logout => logout_sso

Configurer l'en-tête Auth-User.