You are not logged in.
Avec quelle version de IE et de firefox testez-vous ?
Vous pouvez essayer cette procédure :
Il est possible de surcharger le comportement sans toucher au plugin, non pas via la skin, mais via un nouveau plugin.
Pour cela, créer un nouveau répertoire ("mypage-custom" ou "mypage-lemans" par exemple) dans le dossier "plugins", et y créer un fichier "plugin.xml" reprenant les éléments que vous avez modifiés dans le jar, en suivant la structure d'origine :
<plugin ...>
<config>
<!-- Le nouveau paramètre -->
</config>
<!-- La feature du LdapPersonManager -->
<feature name="...">
<config>
<!-- La liste des param-ref, avec le nouveau paramètre -->
</config>
<components>
<!-- Le LdapPersonManager, qui référence le nouveau paramètre -->
</components>
</feature>
</plugin>
Ensuite, il faut indiquer dans le fichier "WEB-INF/param/runtime.xml" d'ignorer la déclaration du LdapPersonManager par défaut, en ajoutant une entrée dans la liste des "exclude" (section "plugins"), comme suit :
<plugins>
[...]
<exclude>
[...]
<feature>mypage/org.ametys.mypage.person.manager</feature>
<exclude>
</plugin>
Le plus simple est de vous baser sur la déclaration du paramètre que vous voulez remplacer (runtime.users.ldap.baseFilter), qui se trouve dans le fichier plugin.xml du plugin core (projet Runtime) : , à la ligne 255.
Vous recopiez donc la déclaration <param id="runtime.users.ldap.baseFilter" type="string">...</param> dans votre plugin (entre des balises <config>, avant la déclaration des <feature>), changez l'id et les clés, et cela devrait marcher.
Bonjour,
Pouvez-vous préciser la version du CMS que vous utilisez, ainsi que les paramètres exacts que vous avez renseigné sur le service annuaire ?
Le message "Aucune personne ne correspond à vos critères de recherche" s'affiche-t-il sur la page ?
Pouvez-vous nous fournir une capture d'écran de la page quand le problème survient ?
Merci d'avance.
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.
Il est aussi possible, avec un textarea, d'utiliser un petit bout de XSL transformant les retours à la ligne en balises "<br/>" :
<!-- Newline to br tag. -->
<xsl:template name="nl2br">
<xsl:param name="input"/>
<xsl:param name="s1"><xsl:text>
</xsl:text></xsl:param>
<xsl:choose>
<xsl:when test="contains($input, $s1)">
<xsl:variable name="rest">
<xsl:call-template name="nl2br">
<xsl:with-param name="input" select="substring-after($input, $s1)"/>
<xsl:with-param name="s1" select="$s1"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="substring-before($input, $s1)"/>
<br/>
<xsl:copy-of select="$rest"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$input"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Cela s'utilise comme suit ("multiligne" est ici le nom de la métadonnée) :
<xsl:call-template name="nl2br">
<xsl:with-param name="input" select="metadata/multiligne"/>
</xsl:call-template>