You are not logged in.
Pages: 1
Bonjour,
Alors, j'ai besoin de vos lumières pour un problème tout bête...
J'aimerai créer une zone réservée sur un site.
Coté backoffice, authentification CAS, là, tout roule.
Coté frontoffice, du coup, j'aimerai avoir 2 authentifications possible : CAS et manuel.
Si j'ai bien compris, je dois créer mes utilisateurs frontoffice dans l'application site : http::monsite.fr/_admin
Le souci, c'est que je ne peux pas le faire ^^
J'imagine que je dois activer certains plugins, mais en faisant des tests, j'ai juste foutu le bazar (plus d'accès à l'interface d'amin lol), j'ai du remettre le fichier runtime.bak en runtime.xml pour réparer
Serait-il possible de m'indiquer la marche à suivre et, si possible, de me confirmer 2-3 trucs :
- A-t-on bien une interface admin par site, coté frontoffice ?
- Est-ce que cela sous-entend un fichier runtime.xml par site ?
- Y a-t-il un lien même infime entre la gestion utilisateur backoffice et frontoffice ?
Merci d'avance pour votre aide.
Offline
Bonjour,
les utilisateurs du front-office sont toujours à créer dans le backoffice via l'icone dédiée dans l'onglets Utilisateurs du ruban.
Notamment, car il n'y a qu'un seul front pour tous les sites et qui ne fait pas la distinction.
Par contre, il est important d'avoir une corrélation entre l'extension choisie pour gérer les utilisateurs dans le front, et l'extension choisir pour gérer les utilisateurs du front dans le BO. Voici la page qui indique les corrélations:
Ensuite vous aurez le problème du choix du type d'authentification.
Raphael Franchet
Expert Ametys
Offline
Ah ! Alors, visiblement, on a pas du tout installer ^^
Je n'ai pas accès à la gestion des Utilisateurs du site...
L'écran du Wiki :
Mon écran :
J'imagine qu'il va falloir activer certains plugins pour avoir ça
Sinon, je reste un peu perplexe par rapport à cette précision :
Notamment, car il n'y a qu'un seul front pour tous les sites et qui ne fait pas la distinction.
Pour que je comprenne bien, il n'y a qu'une application site mais autant d'interface admin frontoffice que de site, non ?
J'ai bien 2 sites (même BO, même FO) qui ont une interface admin FO différente :
Du coup, la fameuse corrélation dont vous parlez, c'est que les utilisateurs du site, créés dans le BO soient visibles dans l'interface admin du FO ?
Offline
Il y avait un piège et vous êtes tombé dedans
En fait, quand vous appellez : et vous tombez en fait exactement sur la même page qui gère la même chose : ce ne sont que des alias.
C'est pour cela que cette unique application ne peut pas gérer les utilisateurs.
Concernant l'absence des boutons, cela peut vouloir dire:
1) il vous manque des droits
2) vous exécutez une vieille version d'Ametys
3) vous exécutez une version récente d'Ametys mais migrée d'une ancienne verison et il vous manque juste à modifier un fichier de conf.
Dans quel cas êtes vous ?
Raphael Franchet
Expert Ametys
Offline
D'abord, merci pour ces explications Raphaël !
Donc, l'appli front est commune, d'accord. Mais la gestion Utilisateurs est dépendante du site - tout comme la méthode d'authentification, si j'en crois l'état de mon FO :
Concernant mon contexte de travail :
Je suis Administrateur et j'ai bien la gestion des Utilisateurs du site cochée dans mes privilèges.
Par contre, je travaille sous Ametys 3.3 (migrée d'une version 2).
Je suis ouvert à toute proposition
Offline
Alors, en Ametys 3.3 si j'en crois ma mémoire : la gestion d'utilisateurs différents par site n'existait pas encore et il fallait utiliser l'admin du front (vous pouvez vous rasseoir) qui reste cependant la même sur tous les sites et les utilisateurs sont partagés.
Il est bizarre donc que vous ayez un droit "gestion des Utilisateurs du site", à moins qu'effectivement cette gestion existait déjà tout en étant identique à ce que vous trouvez dans _admin du front.
Du coup la liste des corrélations que je vous ai donné ne doit pas être tout à fait correcte en 3.3
Donc vous avez quoi comme UserManagerFO dans le back ? et quoi comme UserManager dans le front ?
Raphael Franchet
Expert Ametys
Offline
Alors, étant encore novice sur la gestion des plugins, j'ai été cherché dans les Plugins par points d'extensions Simples.
J'espère ne pas me tromper.
Offline
Alors pour le BO, ce n'est pas ce point d'extension qui m'interesse mais celui juste après : UsersManager.FO
Pour le front, manifestement vous avez 2 applications front différentes puisqu'elles n'utilisent pas le même point d'extension.
Dans 99.99% des cas, un seul front suffit ; et dans le 0.03% restant (calculé par un joueur de foot) ils doivent partager le même paramétrage pour leur UsersManagers.
Raphael Franchet
Expert Ametys
Offline
Voilà donc pour le Bo, désolé ^^
Concernant le paramétrage de l'application front, je pense que l'idéal, pour nous, serait d'harmoniser la méthode d'authentification.
Pensez-vous qu'on puisse homogénéiser le tout, sans tout casser ?
Sinon, j'ai eu la chance de voir P. Delage ce midi, il salue l'ensemble de l'équipe et espère que vous allez tous bien
Offline
Alors, DefaultFrontOfficeUM veut dire, que vous utilisez les mêmes utilisateurs en front et en back.
Du coup, vu que le back est en CredentialAwareLDAPandJDBC, il faut que les deux FO le soient aussi avec exactement les mêmes paramétrage de LDAP et de SQL.
Et la partie Users sera ok.
Ensuite pour la partie CredentialProvider, il suffira là aussi que les fronts aient la même valeur que le back.
Raphael Franchet
Expert Ametys
Offline
Ah super !
Alors, pour le coup, je suis en week-end prolongé tout à l'heure (#VisMaVisDeFonctionnaire ^^) aussi je préfère tester ces modifs avec les collègues mardi.
Je reviens vers vous la semaine prochaine, du coup.
Merci encore, Raphaël, et bon WE.
Offline
bon weekend !
Raphael Franchet
Expert Ametys
Offline
Bonjour Raphaël,
Me voilà de retour, je relance donc le thread
Donc, l'idée c'est de généraliser l'activation du CredentialAwareLDAPandJDBC sur mes différents FO.
Par contre, j'imagine que dans l'idéal, l'ensemble de mes sites (site1.fr/_admin, site2.fr/_admin, etc.) devraient avoir la même configuration au niveau FO, non ?
Comment faire du coup, pour que l'appli FO soit commune ?
Enfin, la dernière fois que j'ai fait une modification des plugins, j'ai légèrement foutu le bazar (^^).
Y a-t-il une procédure à respecter dans l'interface ?
Offline
Bonjour,
pour n'avoir qu'un seul FO, il suffit que site1.fr et site2.fr renvoient sur la même machine et qui au niveau d'apache renvoie sur le même tomcat (en localhost:8080 par ex) avec le flag ProxyPreserveHost On (afin que tomcat reçoive bien le nom demandé par l'internaute pour en déduire le site à servir)
pour le bazar, non pas de procédure particulière, à part peut être demander si les modifications que vous envisagez sont les bonnes
Raphael Franchet
Expert Ametys
Offline
Bon, visiblement ça s'est bien passé.
Sur mon site, j'ai désormais activé le CredentialAwareLDAPandJDBC.
Mais j'ai vu qu'il y avait aussi org.ametys.plugins.site.users.SiteCredentialsAwareLdapAndJdbc.
Quelle différence ? (Et là, j'espère que je n'ai pas foutu le bazar ^^)
Après la prise en compte des changements, j'ai accès à la création d'utilisateurs (FO), mais avec un bug, quand je souhaite rechercher / créer des utilisateurs :
java.lang.NullPointerException
at org.ametys.runtime.datasource.ConnectionHelper.getConnection(ConnectionHelper.java:98)
at org.ametys.runtime.plugins.core.user.jdbc.JdbcUsersManager.toSAXInternal(JdbcUsersManager.java:484)
at org.ametys.runtime.plugins.core.user.jdbc.JdbcUsersManager.toSAX(JdbcUsersManager.java:432)
at org.ametys.runtime.plugins.core.user.mixed.CredentialsAwareLdapAndJdbcUsersManager.toSAX(CredentialsAwareLdapAndJdbcUsersManager.java:176)
at org.ametys.runtime.plugins.core.user.ui.generators.SearchGenerator.generate(SearchGenerator.java:69)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:579)
at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:280)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:481)
at org.apache.cocoon.components.source.impl.SitemapSource.getInputStream(SitemapSource.java:267)
at org.ametys.runtime.plugins.core.dispatcher.DispatchGenerator._dispatching(DispatchGenerator.java:128)
at org.ametys.runtime.plugins.core.dispatcher.DispatchGenerator.generate(DispatchGenerator.java:81)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:579)
at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:280)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:481)
at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:144)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:118)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:235)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:177)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:254)
at org.apache.cocoon.Cocoon.process(Cocoon.java:699)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1159)
at org.ametys.runtime.servlet.RuntimeServlet._doService(RuntimeServlet.java:135)
at org.ametys.runtime.servlet.RuntimeServlet.service(RuntimeServlet.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
#CestDuChinois #GoogleTranslate
Last edited by RSellin (16/02/2016 17:04:51)
Offline
Par défaut l'accès à la base de données est désactivé sur les fronts : dans les plugins par point d'extension multiples, trouvez "org.ametys.runtime.datasource.DataSourceExtensionPoint" et activer la feature "runtime.datasource.core.jdbc.pool".
<pub>En v4, ce genre de chose ce fera tout seul</pub>
Raphael Franchet
Expert Ametys
Offline
Oups, j'ai une erreur de servlet...
J'ai donc remis le fichier runtime.bak en runtime .xml et c'est revenu.
Ca a quand même rendu l'ensemble de mes sites HS pendant ce laps de temps...
J'étais en train d'éditer mon message avec la remarque suivante :
Mais j'ai vu qu'il y avait aussi org.ametys.plugins.site.users.SiteCredentialsAwareLdapAndJdbc.
Quelle différence ? (Et là, j'espère que je n'ai pas foutu le bazar ^^)
Last edited by RSellin (16/02/2016 17:27:04)
Offline
Ah ben, oui tester ça en prod c'est un peu showtime.
Il faudrait le LOG pour savoir ce qu'il se passe. Il se peut qu'il vous manque le JAR mysql maintenant (à reprendre sur le BO).
La version "Site" des UsersManager est capable de gérer des utilisateurs différents par site => mais du coup interdit d'éditer cela dans l'_admin du FO car l'IHM de l'admin ne sais pas le faire : il faut alors utiliser l'icone dont je vous parlais plus haut.
Raphael Franchet
Expert Ametys
Offline
Arf, le souci est là, lol, on a pas de serveur de test...
Au final, le mieux, c'est d'avoir l'accès aux utilisateurs du site, via le backoffice, c'est bien ça ?
Il faut donc activer, coté BO, un plugin spécifique, non ?
Mais je pense qu'une petite formation sur le sujet ne serait pas du luxe ^^
Offline
Oui c'est bien l'idée pour les utilisateurs. Sur quelle version d'Ametys travaillez-vous ?
Raphael Franchet
Expert Ametys
Offline
Version 3.3
Offline
Ah oui... bon ben non alors.
Il n'y a que l'admin du site pour éditer vos utilisateurs.
Raphael Franchet
Expert Ametys
Offline
Pages: 1