cancel
Showing results for 
Search instead for 
Did you mean: 

Savoir si un utilisateur est LDAP lors d'une invitation sur un site collaboratif

amandine_b
Champ in-the-making
Champ in-the-making
Bonjour,

Lors d'une invitation à un site collaboratif, j'ai besoin de savoir si l'utilisateur invité est un utilisateur qui a été synchronisé via LDAP ou non. J'ai besoin de cette information dans le template du mail d'invitation.

Pour l'instant, j'utilise une extension de template, que j'ai créé, qui récupère les zones via le service AuthorityService, et je regarde si une des zones contient le mot "ldap".

Je rencontre néanmoins des problèmes sur la stabilité des invitations : les premières invitations fonctionnent mais au bout d'un certain temps (je ne sais pas exactement quand), les invitations ne se terminent pas (le message "Veuillez patienter" reste indéfiniment). J'obtiens alors un timeout dans mes logs :

2015-04-28 12:43:55,268 INFO [webscripts.connector.RemoteClient] [ajp-bio-8009-exec-472] Exception calling (POST) http://localhost:8080/alfresco/s/api/sites/test/invitations?alf_ticket=TICKET_b7df9f50f4621e20dd9c52... 
2015-04-28 12:43:55,271 INFO [webscripts.connector.RemoteClient] [ajp-bio-8009-exec-472] Error st atus 408 Read timed out
java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(Unknown Source)
        at java.net.SocketInputStream.read(Unknown Source)
        at java.io.BufferedInputStream.fill(Unknown Source)
        at java.io.BufferedInputStream.read(Unknown Source)
        at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
        at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
        at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
        at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
        at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java :398)
        at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:17 1)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
        at org.springframework.extensions.webscripts.connector.RemoteClient.service(RemoteClient.jav a:1054)
        at org.springframework.extensions.webscripts.connector.RemoteClient.call(RemoteClient.java:7 08)
        at org.springframework.extensions.webscripts.connector.HttpConnector.call(HttpConnector.java :143)
        at org.springframework.extensions.webscripts.connector.AuthenticatingConnector.call(AuthenticatingConnector.java:293)
        at org.springframework.extensions.webscripts.servlet.mvc.EndPointProxyController.handleReque stInternal(EndPointProxyController.java:326)
        at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.j ava:153)
        at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControlle rHandlerAdapter.java:48)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644 )
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java: 487)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
        at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:21 3)
        at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171)
        at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
        at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at fr.bull.alfresco.CasAuthenticationFilter.doFilter(CasAuthenticationFilter.java:119)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.ja va:93)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketVal idationFilter.java:167)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at com.atolcd.alfresco.ProxyAuditFilter.doFilter(ProxyAuditFilter.java:434)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.jav a:589)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)


Est-ce qu'il n'existerait pas une API permettant d'avoir cette information plus proprement ?

Merci d'avance pour votre réponse.
2 REPLIES 2

denz
Confirmed Champ
Confirmed Champ
Bonjour,

avez vous trouvé une solution ? cela m'interesse aussi.

J'aimerai par ailleurs savoir comment différencier les utilisateurs externes (issus d'un annuaire LDAP) à ceux créés en interne (via l'adminstration ou l'invitation d'un espace collaboratif) afin de pouvoir leur mettre des droits différents.

Merci d'avance

Dnz

amandine_b
Champ in-the-making
Champ in-the-making
Je n'ai pas trouvé d'autres moyens que celui décrit dans le post.
L'erreur indiquée dans le post n'était pas liée à ce webscript, et ce dernier fonctionne correctement donc je ne l'ai pas modifié.