Return to list

probleme d'authentification avec module-mylutece-ldapdatabase

avatar provided by gravatar.com neji | May 24, 2012 1:03:55 PM

probleme d'authentification avec module-mylutece-ldapdatabase

Bonjour,

je veux gerer l'authentification par ldap donc j'ai construit mon site avec :

module-mylutece-ldapdatabase 2.1.0
lutece-core 3.1.0

j'ai le serveur ldap qui marche bien avec des utilisateur defini dedans.

je peux bien les importer avec  Gestion des utilisateurs du site (LDAP Database)

lorsque je veux s'authentifier avec un utilisateur non defini dans ldap ou non importer j'ai bien le message d'erreur : 
[b]Login invalide
Login ou mot de passe incorrect[/b]

le probleme est lorsque je veux s'authentifier avec un utilisateur defini dans ldap et importer par lutece j'ai l'exception suivante 
qui semble n'avoir aucune relation avec la configuration des plugins 

[code]
org.apache.jasper.JasperException
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	fr.paris.lutece.portal.web.xss.SafeRequestFilter.doFilter(SafeRequestFilter.java:104)
	fr.paris.lutece.portal.web.upload.UploadFilter.doFilter(UploadFilter.java:142)
	fr.paris.lutece.portal.service.filter.MainFilter.doFilter(MainFilter.java:107)
	fr.paris.lutece.portal.web.upload.DosGuardFilter.doFilter(DosGuardFilter.java:126)
	fr.paris.lutece.portal.web.encoding.EncodingFilter.doFilter(EncodingFilter.java:86)

cause mère

java.lang.NullPointerException
	fr.paris.lutece.plugins.mylutece.modules.ldapdatabase.authentication.LDAPDatabaseAuthentication.login(LDAPDatabaseAuthentication.java:149)
	fr.paris.lutece.portal.service.security.SecurityService.loginUser(SecurityService.java:210)
	fr.paris.lutece.plugins.mylutece.web.MyLuteceApp.doLogin(MyLuteceApp.java:230)
	org.apache.jsp.jsp.site.plugins.mylutece.DoMyLuteceLogin_jsp._jspService(DoMyLuteceLogin_jsp.java:61)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	fr.paris.lutece.portal.web.xss.SafeRequestFilter.doFilter(SafeRequestFilter.java:104)
	fr.paris.lutece.portal.web.upload.UploadFilter.doFilter(UploadFilter.java:142)
	fr.paris.lutece.portal.service.filter.MainFilter.doFilter(MainFilter.java:107)
	fr.paris.lutece.portal.web.upload.DosGuardFilter.doFilter(DosGuardFilter.java:126)
	fr.paris.lutece.portal.web.encoding.EncodingFilter.doFilter(EncodingFilter.java:86)

note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.31.
[/code] 

voici mon fichier de configuration mylutece-ldapdatabase.properties
[code]
#Uncomment the following line to get pre-2.4.1 behavior
mylutece.authentication.class=fr.paris.lutece.plugins.mylutece.modules.ldapdatabase.authentication.LDAPDatabaseAuthentication

mylutece-ldapdatabase.service.name=Lutece Ldapdatabase Authentication Service

################################################################################
# LDAP Authentication
#
# example :
mylutece-ldapdatabase.ldap.initialContextProvider=com.sun.jndi.ldap.LdapCtxFactory
mylutece-ldapdatabase.ldap.connectionUrl=ldap://localhost:10390
mylutece-ldapdatabase.ldap.connectionName=uid=admin,ou=system
mylutece-ldapdatabase.ldap.connectionPassword=secret
mylutece-ldapdatabase.ldap.userBase=ou=users,ou=system
mylutece-ldapdatabase.ldap.userSearch.guid=(uid={0})
mylutece-ldapdatabase.ldap.userSearch.criteria.sn=(sn={0})
mylutece-ldapdatabase.ldap.userSearch.criteria.givenname=(givenname={1})
mylutece-ldapdatabase.ldap.userSearch.criteria.mail=(mail={2})
mylutece-ldapdatabase.ldap.userSubtree=true
mylutece-ldapdatabase.ldap.dn.attributeName.ldapGuid=uid
mylutece-ldapdatabase.ldap.dn.attributeName.familyName=sn
mylutece-ldapdatabase.ldap.dn.attributeName.givenName=givenname
mylutece-ldapdatabase.ldap.dn.attributeName.email=mail
mylutece-ldapdatabase.ldap.dn.login=(uid={0})
[/code]

le fichier mylutece.properties
[code]
mylutece.authentication.enable=true

# Only authenticated users can access to the portal
mylutece.portal.authentication.required=false

# Default authentication is MultiLuteceAuthentication.
# Edit the following line to use your own auth class
#mylutece.authentication.class=fr.paris.lutece.plugins.mylutece.authentication.MultiLuteceAuthentication

################################################################################
# Optionnal URL

mylutece.url.login.page=Portal.jsp?page=mylutece&action=login
mylutece.url.doLogin=jsp/site/plugins/mylutece/DoMyLuteceLogin.jsp
mylutece.url.doLogout=jsp/site/plugins/mylutece/DoMyLuteceLogout.jsp
mylutece.url.createAccount.page=jsp/site/Portal.jsp?page=mylutece&action=createAccount
mylutece.url.viewAccount.page=jsp/site/Portal.jsp?page=mylutece&action=viewAccount
mylutece.url.lostPassword.page=jsp/site/Portal.jsp?page=mylutece&action=lostPassword
mylutece.url.default.redirect=../../Portal.jsp

################################################################################
# Templates
mylutece.template.accessDenied=/skin/plugins/mylutece/page_access_denied.html
mylutece.template.accessControled=/skin/plugins/mylutece/page_access_controled.html

#######################################################################################################
# Labels

mylutece.pageTitle.login=Authentification
mylutece.pagePathLabel.login=Authentification
mylutece.pageTitle.viewAccount=Mes informations personnelles
mylutece.pagePathLabel.viewAccount=Mes informations personnelles

#######################################################################################################
# messages
mylutece.message.error.invalid.login=Login invalide

##################################################
#### mylutece default role
mylutece.defaultRole.code=none
mylutece.defaultRole.description=No restriction
[/code]

de l'aide s'il vous plait.

Vote Score 170

Share

Report

Commentaires (8 )

Posted by : neji | 30/05/2012 19:02:58
Bonjour, voilà comment j'ai réglé le problème : j'ai téléchargé les sources de module-mylutece-ldapdatabase j'ai ajouter la ligne suivante
_dao = (LdapDatabaseDAO) SpringContextService.getPluginBean( "mylutece-ldapdatabase", "ldapDatabaseDAO" );
dans la classe fr.paris.lutece.plugins.mylutece.modules.ldapdatabase.authentication.LDAPDatabaseAuthentication dans la method public LuteceUser login( String strUserName, String strUserPassword, HttpServletRequest request ) avant l'instrution LDAPDatabaseUser user = _dao.selectLuteceUserByGuid( strLdapGuid, plugin, this); il parait que spring ne fesait pas son travail comme il faut, ou bien moi qui a oublié de configurer quelque chose :wink: . versions : lutece-core-3.1.1 module-mylutece-ldapdatabase-2.1.0 plugin-mylutece-3.0.2
 
Posted by : neji | 28/05/2012 19:23:37
oui le plugin etait activé
 
Posted by : neji | 28/05/2012 19:20:31
j'ai un titre identification est aucun formulaire
 
Posted by : VVO | 28/05/2012 19:17:58
Le plugin était-il activé au moment du démarrage de la webapp ? Qu'avez-vous sur la page
Portal.jsp?page=mylutece&action=login
?
 
Posted by : neji | 28/05/2012 19:10:29
desolé pour le retard, j' ai reconstruit tout le projet a nouveau car je testai d'autre versions... quand j'ai fait les changement que vous m'avez dit j'ai remarqué que le formulaire qui s'afficher lorsque je cliquais sur s'authentifier dans le header ne s'affiche plus, et quand j'utilise la portlet authentification mylutece qui contient 2 bouton creer un compte et mot de passe perdu !!! je clique sur creer un compte j'ai l'erreur suivante : [code] Identification Login invalide Veuillez sélectionner un mode d'authentification [/code] sachant que je n'ai inseré aucun login !
 
Posted by : VVO | 28/05/2012 18:53:17
Pourriez-vous essayer avec la propriété mylutece.authentication.class commentée dans le fichier mylutece-ldapdatabase.properties
#mylutece.authentication.class=fr.paris.lutece.plugins.mylutece.modules.ldapdatabase.authentication.LDAPDatabaseAuthentication
et décommenter la propriété mylutece.authentication.class dans mylutece.properties ?
mylutece.authentication.class=fr.paris.lutece.plugins.mylutece.authentication.MultiLuteceAuthentication
 
Posted by : neji | 28/05/2012 18:50:32
Bonjour, voila le contenu de fichier que vous m'avez demander [code] [/code] j'ai deja testé la valeur de l'attribut _dao de la classe fr.paris.lutece.plugins.mylutece.modules.ldapdatabase.authentication pour voir si elle est bien initialisé par spring, et sa valeur n'est pas null. la version de plugin-mylutece est 3.0.2 une autre information : j'utilise apacheds et apache directory studio coté ldap, le password des utilisateurs est stocké en texte brut.
 
Posted by : VVO | 28/05/2012 18:24:42
Bonjour, Pourriez-vous nous indiquer le contenu du fichier
WEB-INF/conf/plugins/ldapdatabase_context.xml
?
 

 Top of the page

Return to list