Connexion automatique personnalisée

Une des premières étapes de l'intégration du CMS Ametys consiste à déterminer comment se connectent les contributeurs (le processus d'authentification est détaillé dans la page  Authentification des utilisateurs).

Il est tout à  fait possible de mettre en place une connexion automatique, c'est-à-dire ne nécessitant pas la saisie d'un login et d'un mot de passe, à des fins de démonstration par exemple. Dans ce cas, c'est toujours le même identifiant qui est utilisé quelle que soit l'utilisateur qui se connecte : on peut parler d'utilisateur anonyme.

Une connexion anonyme existe par défaut dans l'application (via l'extension org.ametys.runtime.plugins.core.authentication.Defined), mais l'intégrateur peut en créer un nouveau point d’extension afin de personnaliser le login associé.

La déclaration de ce point d'extension doivent être effectuée dans le fichier plugin.xml d'un plugin Ametys. Au besoin, vous serez amené à créer un nouveau plugin, suivez alors les instructions de la page Architecture d'un plugin Ametys.

Pour avoir un CredentialsProvider qui fonctionne sur ce principe mais pour lequel l'intégrateur souhaite personnaliser l'identifiant, il faut créer un nouveau plugin (en suivant les instructions de la page Création d'un nouveau plugin), et lui spécifier l'extension suivante (personnaliser l'identifiant de l'extension et le <user>) :

Voici ci-dessous un exemple de déclaration : n'importe quel utilisateur sera automatiquement connecté sous l'identifiant "user1".

<extension id="org.ametys.myplugin.authentication.MyDefinedAuthentification"
			point="org.ametys.runtime.authentication.CredentialsProvider" 
			class="org.ametys.runtime.plugins.core.authentication.DefinedCredentialsProvider"
			logger="org.ametys.runtime.authentication.defined">
	<!-- This credential provider is an automatic login with the defined user's login -->
    <user>user1</user>
</extension>

Notez que vous devrez ensuite sélectionner ce nouveau point d'extension dans l'outil plugins et workspaces (décrit dans la page Plugins et Workspaces) ou modifier directement le fichier WEB-INF/param/runtime.xml (voir Fichier runtime.xml) .

<org.ametys.runtime.authentication.CredentialsProvider>org.ametys.myplugin.authentication.MyDefinedAuthentification</org.ametys.runtime.authentication.CredentialsProvider>