Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 20/01/2011 10:15:09

Le Bechec
Guest
Registered: 13/12/2010
Posts: 92

authentification : base locale ET CAS

Bonjour,

Est-il possible de mettre en place une authentification double, basée a fois sur un cas (ldap) et une base locale ? Nous avons des demandes en ce sens de personnes qui ne font pas partie de notre établissement et qui devront quand même pouvoir se logguer et participer à l'alimentation du site.

merci.

Offline

#2 20/01/2011 17:09:25

Nicolas Gavalda
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 32

Re: authentification : base locale ET CAS

Bonjour,

Mettre ceci en place est possible. Votre demande est double, car Ametys sépare la gestion de l'authentification (appelée CredentialsProvider) de la gestion des utilisateurs (appelée UsersManager).
Il faut donc :
1- Spécifier une double gestion de l'authentification, d'abord au travers de CAS, ensuite en mode "Basic" (si l'utilisateur n'est pas authentifié par CAS, il devra entrer ses identifiants dans une boîte de dialogue).
2- Spécifier une double gestion des utilisateurs, d'abord dans l'annuaire LDAP (pour les utilisateurs de CAS), ensuite dans une base de données.

Les modules assurant ces fonctions existent déjà dans Ametys, mais nous les utilisons pour identifier les utilisateurs sur l'application front-office, alors que vous souhaitez les mettre en place sur le back-office. Il faudra donc vérifier si cela fonctionne correctement.

Tout ceci se fait dans le fichier WEB-INF/param/runtime.xml :
1- Pour l'authentification, mettre la valeur "org.ametys.runtime.plugins.core.authentication.GatewayCASBasic" entre les balises "<org.ametys.runtime.authentication.CredentialsProvider>"
2- Pour les utilisateurs, mettre la valeur "org.ametys.runtime.plugins.core.CredentialsAwareLdapAndJdbc" entre les balises "<org.ametys.runtime.user.UsersManager>"

Enfin, dans le fichier WEB-INF/param/authentication.xml, il faut :
- S'assurer que la ligne suivante n'est pas présente, la supprimer si c'est le cas :

<authentication>org.ametys.runtime.plugins.core.authentication.UsersManagerAuthentication</authentication>

- Ajouter la ligne suivante :

<authentication>org.ametys.runtime.plugins.core.authentication.mixed.MixedSourceUsersManagerAuthentication</authentication>

Dernière étape, tester :
- Redémarrer le serveur et renseigner les éventuels paramètres de configuration supplémentaires.
- Vérifier qu'on peut alimenter la base des utilisateurs (dans l'interface d'administration).
- Tester qu'on peut s'authentifier avec succès avec les deux types d'utilisateurs.

Last edited by Nicolas Gavalda (20/01/2011 18:09:03)

Offline

#3 20/01/2011 17:24:25

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,117

Re: authentification : base locale ET CAS

il fallait lire WEB-INF/param/runtime.xml

pour note, dans l'administration il existe une interface pour faire ce genre de modifications


Raphael Franchet
Expert Ametys

Offline

#4 21/01/2011 14:24:45

Le Bechec
Guest
Registered: 13/12/2010
Posts: 92

Re: authentification : base locale ET CAS

Vous parlez de l'éditeur graphique je suppose ? Merci pour votre réponse en tout cas.

Offline

#5 21/01/2011 15:33:11

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,117

Re: authentification : base locale ET CAS

Non. L'éditeur graphique se "limite" à la charte graphique.
L'administrateur système de l'application a dans son interface (/cms/_admin/index.html) une icone "plugins", dans laquelle on peut désactiver des éléments de plugins ; et cela permet aussi de choisir quelle extension doit remplir le rôle de "UsersManager" par exemple.
Par contre actuellement, cette partie de l'interface est plutôt réservée aux développeurs et du coup n'est pas encore documentée dans le wiki.
Voilà


Raphael Franchet
Expert Ametys

Offline

#6 03/05/2011 10:07:25

François Jannin
Guest
From: Toulouse
Registered: 21/10/2010
Posts: 35

Re: authentification : base locale ET CAS

Bonjour,

J'ai bien configuré selon vos instrusctions, mais j'ai un problème de table inexistante, losque je tente de crééer un utilisateur via l'ihm admin :

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'Ametys_CMS_USERS.Users' doesn't exist
   
J'ai essayé en créant une nouvelle base, Ametys créé bien les tables à nouveau, mais pas la table Users.
Comment crééer cette table ? (sachant qu'il faudrait que je la créé dans une base déjà existante)
Merci

François

Offline

#7 03/05/2011 10:13:37

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,117

Re: authentification : base locale ET CAS

Vous ne devez pas disposez des scripts complets.
Ceux fournis avec le CMS à télécharger sont complets, mais dans le cadre de votre projet vous avez peut-être uniquement une sous-partie des scripts car vous étiez peut-être branchés initialement sur un LDAP.

Le lien pour les scripts SQL est dans ce post

Le script qui vous manque est :
* soit jdbc_users.sql
* soit jdbc_users_auth.sql

le deuxième stocke le mot de passe en plus, ce qui est nécessaire dans votre cas


Raphael Franchet
Expert Ametys

Offline

#8 03/05/2011 15:47:00

François Jannin
Guest
From: Toulouse
Registered: 21/10/2010
Posts: 35

Re: authentification : base locale ET CAS

Merci pour les scripts SQL :  la création d'utilisateurs fonctionne correctement.
J'ai maintenant un autre soucis : comment crééer une page d'authentification où l'on propose CAS ou basique ?
Car le comportement par défaut est que si on a une session CAS en cours au moment où l'on accède au CMS, on récupère bien la session CAS, mais si celle-ci n'est pas préalablement ouverte par une autre application, on tombe sur l'authentification basique, sans possibilité de se loguer par CAS... Comme la plupart de nos utilisateurs sont CAS, c'est un peu gênant de ne pas pouvoir leur proposer de s'authentifier directement par le SSO.
Y'a-t-il un plugin ou un paramétrage pour faire cela ?

Merci encore

Offline

#9 03/05/2011 16:08:09

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,117

Re: authentification : base locale ET CAS

oui mais je crois qu'ils peuvent saisir leur login CAS dans cette boite de dialogue
(dans le cas où CAS s'appuie sur l'authentification du LDAP)


Raphael Franchet
Expert Ametys

Offline

#10 03/05/2011 16:17:37

Cédric Damioli
Ametys Product Manager
From: Toulouse
Registered: 10/08/2010
Posts: 336

Re: authentification : base locale ET CAS

Le comportement que vous souhaitez n'est pas développé pour l'instant.

Pour faire ce que vous souhaitez, il faut instancier un nouveau CredentialsProvider, en se basant sur ceux qui existent.

Offline

#11 06/05/2011 16:25:29

François Jannin
Guest
From: Toulouse
Registered: 21/10/2010
Posts: 35

Re: authentification : base locale ET CAS

Bonjour,

J'ai une autre question : si le même popup permet d'authentifier depuis la base de données et le ldap du CAS, le problème du cryptage des login/mot de passe devient trés sensible.
J'ai défini un virtualhost Apache sur le port 443 qui utilise SSL pour obliger l'accès au cms en HTTPS.
Est-ce suffisant pour s'assurer du cryptage des login mot de passe depuis le popup basic authentication?

Merci

Offline

#12 06/05/2011 16:41:02

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,117

Re: authentification : base locale ET CAS

Si vous fermez l'accès par le port 80, oui je pense que c'est suffisant : vos mots de passe ne passeront pas en clair sur le réseau.


Raphael Franchet
Expert Ametys

Offline

#13 10/05/2011 15:41:20

Le Bechec
Guest
Registered: 13/12/2010
Posts: 92

Re: authentification : base locale ET CAS

Bonjour,

Nous avons bien maintenant une double authentification (ldap + base locale), il est donc possible de créer des utilisateurs et de leur affecter un mot de passe. Comment l'utilisateur peut-il modifier ce mot de passe que nous leur affectons ?

Merci.

Offline

#14 10/05/2011 16:10:14

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,117

Re: authentification : base locale ET CAS

Bonjour, Ametys ne propose pas encore aux visiteurs de modifier leur mot de passe mais cela viendra peut-être à l'avenir.


Raphael Franchet
Expert Ametys

Offline

Board footer

Powered by FluxBB