Dernière publication:23/02/2018à 14:51RaphaëlFranchet
Quand on intègre le CMS Ametys, il est parfois nécessaire de mettre en place une authentification sur le site, par exemple dans le cas de pages à accès limité (pour plus d'informations, veuillez consulter la page Limitation d'accès d'une page du manuel utilisateur).
Le paramétrage de cette authentification est décrit dans la page authentification des visiteurs du manuel d'intégration. Cependant, on peut avoir besoin de créer son propre formulaire de connexion (pour qu'il corresponde à la charte graphique du site par exemple). Il faut alors redéfinir le gabarit graphique et/ou le formulaire de connexion
Surcharger le gabarit utilisé pour rendre le formulaire de connexion
Par défaut, le gabarit utilisé pour "enrober" (ou contenir) le formulaire est login (skins/[NOM_SKIN]/templates/login/styllesheets/template.xsl); s'il n'existe pas c'est le template page qui sera utilisé (skins/[NOM_SKIN]/templates/page/styllesheets/template.xsl)
Par défaut, ce gabarit doit nécessairement contenir une zone dont l'identifiant est default ; c'est dans cette zone que va s'afficher le formulaire.
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Pour plus d'explications sur ces notions, vous pouvez consulter la page Intégration graphique.
Surcharger le formulaire de connexion
Le formulaire peut être surchargé dans votre charte graphique si le code HTML proposé par défaut ne convient pas. Pour cela, créez une feuille de style XSL à l'emplacement skins/[NOM_SKIN]/services/web/pages/frontoffice-login/login.xsl.
Vous pouvez récupérer un exemple de fichier login.xsl.
Nous vous conseillons d'utiliser ce fichier comme base de travail et de mettre en place vos modifications. En sortie cette xsl doit respecter le formalisme d'enrobage (cf xsl d'Enrobage).
En entrée cette xsl reçoit en xml :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
L'attribut public-signup vaut true si le site autorise une inscription publique, c'est à dire que les visiteurs du site sont autorisés à créer un compte.
La balise <action> contient: login si le formulaire de connexion doit être affiché, failed si l'authentification a échoué.
La balise <requestedURL> doit contient l'url (relative) de la page qui a été demandé et qui nécessite une authentification préalable
La balise <username> contient la valeur du login pour l'afficher à nouveau dans le formulaire en cas d'échec de l'authentification (mauvais mot de passe par exemple)
La balise <signup-page> contient l'identifiant de page contenant le formulaire de création d'un nouveau compte
La balise <password-change-page contient l'identifiant de page contenant le formulaire de modification de mot de passe
La balise <user-main-prefs-page> contient l'url de la page pour les préférences utilisateurs
Pour aller plus loin Si vous souhaitez redéfinir les champs du formulaire, il faut créer un nouveau plugin pour le site en suivant les instructions de la page Création d'un plugin et ajouter l'extension suivante en modifiant les balises username-field, password-field et rememberMe-field selon vos propres champs.
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Notez que les url de login (loginUrl et loginFailedUrl) ne doivent pas être spécifiées, contrairement à l'extension FormBased définie dans le CMS (cf page Création d'un formulaire de connexion).
Ensuite, utilisez l'outil Plugins et Workspacesdu site pour sélectionner votre nouvelle extension, ou modifier directement le fichier WEB-INF/param/runtime.xml
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.