[ 
https://jira.nuxeo.com/browse/NXP-6430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=89770#action_89770
 ] 

François-Denis Gonthier commented on NXP-6430:
----------------------------------------------

If I don't have subGroups and/or parentGroups I get this rather loud crash. I 
could not find a way to convince Nuxeo that there is no need to look for 
subGroups and parentGroups. I doesn't work without a more or less dummy 
subGroups and parentGroups reference in the directory configuration.

In fact, our configuration is probably broken in regard to creating groups and 
users and Nuxeo but so far the patch has worked for editing and listing groups.

stackTrace : javax.servlet.ServletException: 
#{groupManagerActions.createGroup}: org.nuxeo.ecm.directory.DirectoryException: 
createEntry failed
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.nuxeo.wss.servlet.BaseWSSFilter.doFilter(BaseWSSFilter.java:106)
        at 
org.nuxeo.wss.servlet.FailSafeWSSFilter.doFilter(FailSafeWSSFilter.java:42)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
        at 
org.nuxeo.ecm.platform.ui.web.multipart.MultipartFilter.doFilter(MultipartFilter.java:73)
        at 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
        at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
        at 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
        at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
        at 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
        at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
        at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
        at 
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
        at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
        at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
        at 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
        at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:127)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoRequestControllerFilter.doFilter(NuxeoRequestControllerFilter.java:142)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:492)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.nuxeo.ecm.platform.web.common.exceptionhandling.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:80)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        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.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        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:293)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.faces.FacesException: #{groupManagerActions.createGroup}: 
org.nuxeo.ecm.directory.DirectoryException: createEntry failed
        at 
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
        at javax.faces.component.UICommand.broadcast(UICommand.java:387)
        at 
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
        at 
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
        at 
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
        at 
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
        at 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at 
org.nuxeo.ecm.platform.ui.web.lifecycle.NuxeoLifeCycleImpl.execute(NuxeoLifeCycleImpl.java:83)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
        ... 45 more
Caused by: javax.faces.el.EvaluationException: 
org.nuxeo.ecm.directory.DirectoryException: createEntry failed
        at 
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
        at 
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
        ... 55 more
Caused by: org.nuxeo.ecm.directory.DirectoryException: createEntry failed
        at 
org.nuxeo.ecm.directory.ldap.LDAPSession.createEntry(LDAPSession.java:219)
        at 
org.nuxeo.ecm.directory.ldap.LDAPSession.createEntry(LDAPSession.java:1012)
        at 
org.nuxeo.ecm.platform.usermanager.UserManagerImpl.createGroup(UserManagerImpl.java:747)
        at 
org.nuxeo.ecm.webapp.security.GroupManagerActionsBean.createGroup(GroupManagerActionsBean.java:231)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
        at 
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
        at 
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at 
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at 
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
        at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
        at 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
        at 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
        at 
org.nuxeo.ecm.webapp.security.GroupManagerActionsBean_$$_javassist_56.createGroup(GroupManagerActionsBean_$$_javassist_56.java)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
        at 
org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:342)
        at 
org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
        at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
        at 
org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
        at 
com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
        at 
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
        ... 56 more
Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception: 
javax.naming.directory.InvalidAttributeValueException. message: 'parentGroups' 
has no values.
        at com.sun.jndi.ldap.LdapClient.add(LdapClient.java:996)
        at com.sun.jndi.ldap.LdapCtx.c_bind(LdapCtx.java:393)
        at 
com.sun.jndi.toolkit.ctx.ComponentDirContext.p_bind(ComponentDirContext.java:277)
        at 
com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.bind(PartialCompositeDirContext.java:197)
        at 
com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.bind(PartialCompositeDirContext.java:186)
        at 
javax.naming.directory.InitialDirContext.bind(InitialDirContext.java:158)
        at 
org.nuxeo.ecm.directory.ldap.LDAPSession.createEntry(LDAPSession.java:202)
        ... 87 more


> POSIX group support
> -------------------
>
>                 Key: NXP-6430
>                 URL: https://jira.nuxeo.com/browse/NXP-6430
>             Project: Nuxeo Enterprise Platform
>          Issue Type: New Feature
>          Components: Directory
>    Affects Versions: 5.4.0.1
>            Reporter: François-Denis Gonthier
>         Attachments: nuxeo-posix-groups
>
>
> Hello, 
> I have been asked to implement POSIX group support in Nuxeo. We use the RFC 
> 2307 schema [1]. This patchs only touches LDAPReference.java. It extends the 
> staticAttribute option with a new boolean option called staticAttributeIsId 
> where a true value indicates the content of the staticAttributeId field is 
> the Id of an LDAP object instead of a DN.
> <ldapReference field="members" 
>                directory="userDirectory" 
>                forceDnConsistencyCheck="false" 
>                staticAttributeId="memberUid"
>                staticAttributeIsId="true" />
> The patch is mostly working on my side. I can view, add and remove users from 
> groups, and add and remove groups from users. My current version of the patch 
> is attached to this message and was pushed to a personnal Hg repository [2]. 
> I have not submitted a bug report on this because I'm stumbling on an 
> unrelated problem.
> The POSIX group object doesn't support subGroups but Nuxeo seems to expect to 
> find subGroups in a group definition. If I don't add a dummy reference such 
> as this one, Nuxeo crashed in various ways, all related to the missing 
> subGroups link.
> <!-- This doesn't make sense but I need that to test the patch -->
> <ldapReference field="subGroups"
>                directory="groupDirectory"
>                staticAttributeId="memberUid"
>                forceDnConsistencyCheck="false"
>                staticAttributeIsId="false" />
> Is there are way to tell Nuxeo that the directory doesn't support subGroups, 
> that may have escaped me? I can take a stab at implementing this feature but 
> since it spans several module in Nuxeo, from views to document model, I would 
> like to know if there isn't an easy way to do that first.
> [1] http://www.ietf.org/rfc/rfc2307.txt
> [2] https://bitbucket.org/fdgonthier/nuxeo-services-patches

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.nuxeo.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets

Reply via email to