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

cancel
Showing results for 
Search instead for 
Did you mean: 
amandine_b
Member II

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

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
denz
Active Member II

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

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
Member II

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

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é.