You are not logged in.
Bonjour,
Je teste actuellement le snapshot : ametys-3.2.1.20110716-0340-b515-SNAPSHOT
J'ai configuré le BO avec CAS et LDAP. Cela fonctionne parfaitement.
J'ai paramétré une page avec limitation d'accès (pour moi même, cad utilisateur delage du LDAP).
J'ai configuré le plugin cas sur le FO.
L'accès sur la page ainsi protégé me renvoie bien sur mon authentification CAS, mais j'obtiens ensuite l'erreur suivanet :
ADMINISTRATION - Access denied
org.ametys.runtime.authentication.AccessDeniedException : Access denied for user anonymous for URL http://cms-test:8080/cms/generate/intratest/fr/zone-reserve.html?_contextPath=&_baseServerPath=http://intratest.univ-lemans.fr&_initialRequest=%2Ffr%2Fzone-reserve.html
Est-ce la bonne méthode. J'ai un doute car il existe un plugin usermanagerFO (sur le BO mais pas sur le FO ???)
Merci pour votre aide.
Patrick
Offline
Bonjour,
Excellente remarque !
Alors je vais essayer d'être clair :
Il y a trois concepts mis en oeuvre :
- La liste des utilisateurs du back (chez vous c'est LDAP), qui se configure dans le runtime.xml du CMS pour le point d'extension UsersManager
- La liste des utilisateurs du front, qui se configure de la même façon dans le runtime.xml du site. Par défaut, cette liste est restreinte à un seul utilisateur, qui s'appelle anonymous (via l'extension org.ametys.runtime.plugins.core.user.Static), d'où l'erreur que vous rencontrez.
- La liste des utilisateurs du front vus par le back, qui se configure dans le CMS dans le runtime.xml via le point d'extension org.ametys.runtime.user.UsersManager.FO
Par défaut, ce point d'extension part du principe que la liste est le même dans le back que dans le front, ce qui est votre cas.
Dans votre cas, il faut donc utiliser dans le front le UsersManager LDAP et le configurer de la même manière que dans le back.
N'oubliez pas également de configurer le CredentialsProvider avec CAS.
Offline
Et si vous ouvrez un ticket sur le JIRA d'amélioration (en anglais) pour que la liste des utilisateurs du site soit automatiquement la même que la liste des utilisateurs du site vu par le CMS
... je voterai pour vous !
Raphael Franchet
Expert Ametys
Offline
Bonjour,
Pour le Jira, je veux bien, à 2 conditions
- que je comprenne bien le focntionnement
- que cela fonctionne, car pour le moment, cela plante encore.
J'ai bien suivi le post de Cedric.
J'ai configuré le BACK comme suit :
<org.ametys.runtime.user.UsersManager.FO>org.ametys.web.frontoffice.DefaultFrontOfficeUsersMan
ager</org.ametys.runtime.user.UsersManager.FO></extensions>
Une question : cette extension ne se configure pas ? Elle fournit au FRONT la liste des utilisateurs pour qui ont a lilmité l'accès ?
et le FRONT
<org.ametys.runtime.authentication.CredentialsProvider>org.ametys.runtime.plugins.core.authentica
tion.CAS</org.ametys.runtime.authentication.CredentialsProvider><org.ametys.runtime.user.UsersManager
>org.ametys.runtime.plugins.core.Ldap</org.ametys.runtime.user.UsersManager></extensions>
</runtime>
Mais j'ai cette erreur sur le FRONT sur ma zone que j'ai limitée :
ADMINISTRATION - Authorization required
org.ametys.runtime.authentication.AuthorizationRequiredException
Hide details
org.ametys.runtime.authentication.AuthorizationRequiredException at org.ametys.runtime.authentication.BasicCredentialsProvider.notAllowed(BasicCredentialsProvider.java:132) at org.ametys.runtime.workspaces.admin.authentication.AdminAuthenticateAction._checkAuth(AdminAuthenticateAction.java:114) at org.ametys.runtime.workspaces.admin.authentication.AdminAuthenticateAction.act(AdminAuthenticateAction.java:84) at org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:120)
Merci
Patrick
Offline
Une question : cette extension ne se configure pas ? Elle fournit au FRONT la liste des utilisateurs pour qui ont a lilmité l'accès ?
Non, elle indique au back que le front utilise les mêmes utilisateurs que lui.
Le back a besoin de savoir cela pour proposer les utilisateurs dans les accès limités.
Et du coup, aucun paramètre n'est nécessaire (ce sont ceux du usermanager du back)
Raphael Franchet
Expert Ametys
Offline
Et pour votre problème.
Quand vous vous connectez au site (à la vue de la stacktrace) j'ai l'impression que c'est à l'administration que vous vous connectez (admin/admin donc) par exemple pq vous avez besoin de paramétrer la conf CAS.
Le acces denied est donc surement pour l'accès à l'administration de l'application SITE.
Raphael Franchet
Expert Ametys
Offline
Non, je vais sur l'adresse , puis sur zone-reserve (sur laquelle j'ai limité l'accès)
je suis redirigé vers mon serveur cas :
Je m'identifie, puis j'obtiens l'erreur org.ametys.runtime.authentication.AccessDeniedException
sur l'adresse
le log cms :
2011-07-20 13:32:55,807 ERROR [org.ametys.runtime.plugins.core.authentication.UsersManagerAuthentication] UsersManager cannot authenticate
2011-07-20 13:32:55,807 ERROR [sitemap.handled-errors]
org.ametys.runtime.authentication.AccessDeniedException
at org.ametys.runtime.authentication.AuthenticateAction.act(AuthenticateAction.java:83)
Pour aller sur l'interface d'administration, je dois utiliser l'url
avec le code admin/.....
Patrick
Offline
oui en effet, mais parfois, quand une configuration est manquante, quelle que soit l'adresse demandée vous êtes redirigé vers l'administration.
je dis cela car dans la trace que vous donnez plus haut il y a ceci :
org.ametys.runtime.authentication.BasicCredentialsProvider.notAllowed(BasicCredentialsProvider.java:132) at org.ametys.runtime.workspaces.admin.authentication.AdminAuthenticateAction._checkAuth(AdminAuthenticateAction.java:114) at
qui est la trace d'une connexion à l'administration...
est-ce que vous arrivez à vous connecter à l'administration ?
Raphael Franchet
Expert Ametys
Offline
Je viens de tracer le trafic entre le FO et le CMS lors de l'accès à la page à accès limité :
requete site-test FO (195.221.244.67) vers cms-test (195.221.244.68)
4 0.003425 195.221.244.67 195.221.244.68 HTTP GET /cms/generate/intratest/
fr/zone-reserve.html?_contextPath=&_baseServerPath=http://intratest.univ-lemans.fr&_initialRequest=%2
Ffr%2Fzone-reserve.html HTTP/1.1reponse :
HTTP/1.1 401 Non-Autorisé
Server: Apache-Coyote/1.1
X-Cocoon-Version: 2.1.11
WWW-Authenticate: BASIC realm="null"
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 20 Jul 2011 12:58:45 GMT1fb6
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-stri
ct.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html;
charset=UTF-8" /><meta content="IE=8" http-equiv="X-UA-Compatible" /><title>ADMINISTRATION - Authoriz
ation required</title><link type="text/css" href="/cms/kernel/resources/css/error/error.css" rel="sty
lesheet" /><link type="text/css" href="/cms/kernel/resources/css/homepage/view.css" rel="stylesheet"
/><link href="/cms/kernel/resources/img/runtime_favico.gif" type="image/gif" rel="icon" /><link href=
"/cms/kernel/resources/img/runtime_favico.ico" type="image/x-icon" rel="shortcut icon" /><!--[if lt I
E 7]>
.....
Cela semble confirmer votre hypothèse de pb de config, mais coté CMS ???
Patrick
Offline
quelle est l'url de votre CMS ? http://cms-test:8080/cms ?
j'ai l'impression que c'est mal configuré en effet...
est-ce que vous avez des apache devant l'un ou l'autre ? qui pourrait intercepter certaines requêtes ?
coté site, l'url du cms est-elle bien configurée ?
les pages non-limitées fonctionnent bien ?
Raphael Franchet
Expert Ametys
Offline
J'ai un apache devant les 2.
url CMS :
fonctionne également.
Coté site (FO) : url CMS
Les pages non limitées fonctionnement bien.
Config apache du cms :
NameVirtualHost *:80
<VirtualHost *:80>s_cms.conf
# Autorisation locale de proxification
<Proxy
Order deny,allow
Allow from all
</Proxy># Racine des documents statiques du CMS
DocumentRoot /usr/local/tomcat/webapps/cms<Directory "/usr/local/tomcat/webapps/cms">
Order allow,deny
Allow from all
</Directory>ServerName cms-test.univ-lemans.fr
UseCanonicalName On
AddDefaultCharset UTF-8RewriteEngine On
ProxyRequests OffRewriteRule ^(/.*i18n)$ $1 [P,L]
RewriteRule ^/plugins/([a-zA-Z0-9]*)/resources/(.*)$ /plugins/$1/resources/$2 [L]
RewriteRule ^/kernel/resources/(.*)$ /kernel/resources/$1 [L]
RewriteRule ^/_([a-zA-Z0-9]*)/resources/(.*)$ /workspaces/$1/resources/$2 [L]
RewriteRule ^/resources/(.*)$ /workspaces/cms/resources/$1 [L]RewriteRule ^(/.*)$ $1 [P,L]
ProxyPassReverse /
</VirtualHost>
Patrick
Last edited by pdelage (20/07/2011 16:08:36)
Offline
les pages non-limitées fonctionnent bien ?
jusqu'ici on parle des pages à accès limitées.
est-ce que sur ce site, une page normale "publique" fonctionne normalement ?
(je cherche à voir si le site est configuré correctement, ou si le pb bien de la limitation d'accès)
Raphael Franchet
Expert Ametys
Offline
Oui, les pages publiques fonctionnent bien. (page d'accueuil par ex.)
Seule la page avec limitation d'accès pose problème.
Dès je rend publique la page zone-reserve", j'y accède sans problème.
Vous pouvez tester sur l'url
Patrick
Last edited by pdelage (20/07/2011 17:17:08)
Offline
Ok, donc c'est vraiment la conf d'authentification qui doit poser problème.
Est-ce que vous pouvez nous coller votre WEB-INF/param/runtime.xml du SITE et celui du CMS ?
Raphael Franchet
Expert Ametys
Offline
Est-ce que le CMS et le SITE sont sur la même machine ?
Est-il possible que la machine SITE n'est pas accès au LDAP par le réseau ?
C'est simple à vérifier, dans l'admin du site vous allez dans l'icone "Utilisateur" et vous lancez une recherche
---
Si ça ne vient pas de là, il faudrait vider les logs, faire une tentative et regarder les logs CMS et BACK générés par cette tentative
Raphael Franchet
Expert Ametys
Offline
cms-test et site-test sont 2 machines différentes.
Accès LDAP de site-test OK (j'avais vérifié, et viens de le faire à nouveau ..)
Je vide les logs et les mets sur
Patrick
PS un seul log cms...log sur site.
Offline
ouf ça y est ! J'ai trouvé !
2011-07-21 10:08:57,360 ERROR [org.ametys.runtime.plugins.core.authentication.UsersManagerAuthentication] UsersManager cannot authenticate
Par défaut, le mécanisme d'authentification essaie de valider le mot de passe auprès du UsersManager
Mais dans votre cas, c'est CAS qui s'occupe du mot de passe.
Il faut donc avoir un fichier WEB-INF/param/authentication.xml
Vous pouvez recopier celui du CMS.
Raphael Franchet
Expert Ametys
Offline
Tant mieux
Raphael (en congé demain soir) et satisfait aussi
Raphael Franchet
Expert Ametys
Offline