Re: Turbine Framework and LDAP
Juergen Hoffmann <[email protected]> Mon, 26 Apr 2010 12:01:27 +0200
| Newsgroups | gmane.comp.jakarta.turbine.user |
|---|---|
| Organization | Apache Software Foundation |
| Message-ID | <[email protected]> |
Hi Thomas, could you please post your LDAP Configuration for Turbine? kind regards Juergen Am 26.04.2010 11:26, schrieb Thomas Fröhlich: > Hi, > > is there anybody out there who uses the Turbine framework together > with LDAP or an AD-server? Unfortunately I failed to connect Turbine > to our AD-server. > > I have observed the TCP communication on LDAP port 389 using > WIRESHARK. The Turbine connect binding works fine but retrieving the > TurbineGroup informations from LDAP Turbine crashes with an > NullPointerException. You will find the whole stacktrace and a TCP > communication snippet at the end of this mail. > > The groups TurbineGroupGlobal an TurbineGroupService are LDAP group > objects expanded by the auxiliary Turbine object turbineGroup. The > test user "mhernandez" is a LDAP user object expanded by the auxiliary > Turbine object turbineUser. All required attributes are filled. > > I have red all old mailing list entries concerning LDAP. I'm right if > I assume, that LDAP support isn't finally implemented into Turbine? > > Thank you in advance for all hints :) > > Kind regards > Thomas Froehlich > > > ************************** snippet stacktrace ************************** > > > 2010-04-23 16:23:31,576 [TP-Processor2] ERROR > org.apache.turbine.Turbine - Turbine.handleException: > org.apache.turbine.util.security.DataBackendException: Failed to build > ACL for user 'mhernandez' > at > org.apache.turbine.services.security.ldap.LDAPSecurityService.getACL(LDAPSecurityService.java:139) > > at > org.apache.turbine.services.security.TurbineSecurity.getACL(TurbineSecurity.java:444) > > at > org.apache.turbine.modules.actions.AccessController.doPerform(AccessController.java:99) > > at org.apache.turbine.modules.Action.perform(Action.java:51) > at > org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:102) > at org.apache.turbine.Turbine.doGet(Turbine.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > > 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:175) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) > at > org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:421) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > > at > org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) > at > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) > at > org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) > > at > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) > > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) > > at java.lang.Thread.run(Thread.java:595) > Caused by: java.lang.NullPointerException > at java.util.TreeMap.compare(TreeMap.java:1093) > at java.util.TreeMap.put(TreeMap.java:465) > at org.apache.turbine.util.security.GroupSet.add(GroupSet.java:79) > at org.apache.turbine.util.security.GroupSet.add(GroupSet.java:98) > at org.apache.turbine.util.security.GroupSet.<init>(GroupSet.java:66) > at > org.apache.turbine.services.security.ldap.LDAPSecurityService.getGroups(LDAPSecurityService.java:470) > > at > org.apache.turbine.services.security.BaseSecurityService.getAllGroups(BaseSecurityService.java:1164) > > at > org.apache.turbine.services.security.ldap.LDAPSecurityService.getACL(LDAPSecurityService.java:108) > > ... 24 more > 2010-04-23 16:51:20,382 [TP-Processor9] ERROR > org.apache.turbine.services.pull.TurbinePullService - Could not > instantiate request tool acl from a de.tewisoft.aloe.turbine.ACLTool > object > java.lang.NullPointerException > at java.lang.String.compareTo(String.java:998) > at java.lang.String.compareTo(String.java:90) > at java.util.TreeMap.compare(TreeMap.java:1093) > at java.util.TreeMap.getEntry(TreeMap.java:347) > at java.util.TreeMap.get(TreeMap.java:265) > at > org.apache.turbine.util.security.GroupSet.getGroupByName(GroupSet.java:173) > > at > org.apache.turbine.services.security.BaseSecurityService.getGlobalGroup(BaseSecurityService.java:961) > > at > org.apache.turbine.services.security.TurbineSecurity.getGlobalGroup(TurbineSecurity.java:595) > > at > org.apache.turbine.util.security.TurbineAccessControlList.getPermissions(TurbineAccessControlList.java:148) > > at de.tewisoft.aloe.turbine.ACLTool.init(ACLTool.java:43) > at > org.apache.turbine.services.pull.TurbinePullService.initTool(TurbinePullService.java:736) > > at > org.apache.turbine.services.pull.TurbinePullService.populateWithRequestTools(TurbinePullService.java:456) > > at > org.apache.turbine.services.pull.TurbinePullService.populateContext(TurbinePullService.java:378) > > at > org.apache.turbine.services.velocity.TurbineVelocityService.getContext(TurbineVelocityService.java:250) > > at > org.apache.turbine.services.velocity.TurbineVelocity.getContext(TurbineVelocity.java:122) > > at > org.apache.turbine.modules.pages.VelocityPage.doBuildBeforeAction(VelocityPage.java:50) > > at > org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:110) > > at org.apache.turbine.modules.Page.build(Page.java:56) > at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:104) > at org.apache.turbine.Turbine.doGet(Turbine.java:796) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > > 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:175) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) > at > org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:421) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > > at > org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) > at > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767) > at > org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697) > > at > org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889) > > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690) > > at java.lang.Thread.run(Thread.java:595) > > > ******************* snippet LDAP TCP communication ********************* > > No. Time Source Destination > Protocol Info > 32 2010-04-23 16:23:31.642312 192.168.20.231 > 192.168.20.173 LDAP searchResEntry(2) > "CN=TurbineGroupGlobal,OU=Turbine,OU=myproject,DC=example,DC=com" | > searchResEntry(2) > "CN=TurbineGroupService,OU=Turbine,OU=myproject,DC=example,DC=com" | > searchResDone(2) success [2 results] > > Frame 32 (1840 bytes on wire, 1840 bytes captured) > Ethernet II, Src: fa:a2:57:b8:8f:1b (fa:a2:57:b8:8f:1b), Dst: > 4e:58:d9:f6:61:fd (4e:58:d9:f6:61:fd) > Internet Protocol, Src: 192.168.20.231 (192.168.20.231), Dst: > 192.168.20.173 (192.168.20.173) > Transmission Control Protocol, Src Port: ldap (389), Dst Port: > turbonote-2 (34249), Seq: 23, Ack: 185, Len: 1774 > Source port: ldap (389) > Destination port: turbonote-2 (34249) > [Stream index: 3] > Sequence number: 23 (relative sequence number) > [Next sequence number: 1797 (relative sequence number)] > Acknowledgement number: 185 (relative ack number) > Header length: 32 bytes > Flags: 0x18 (PSH, ACK) > Window size: 66304 (scaled) > Checksum: 0xaaeb [validation disabled] > Options: (12 bytes) > [SEQ/ACK analysis] > [PDU Size: 873] > [PDU Size: 879] > [PDU Size: 22] > Lightweight-Directory-Access-Protocol > LDAPMessage searchResEntry(2) > "CN=TurbineGroupGlobal,OU=Turbine,OU=myproject,DC=example,DC=com" [1 > result] > messageID: 2 > protocolOp: searchResEntry (4) > searchResEntry > objectName: > CN=TurbineGroupGlobal,OU=Turbine,OU=myproject,DC=example,DC=com > attributes: 17 items > PartialAttributeList item objectClass > PartialAttributeList item cn > PartialAttributeList item distinguishedName > PartialAttributeList item instanceType > PartialAttributeList item whenCreated > PartialAttributeList item whenChanged > PartialAttributeList item uSNCreated > PartialAttributeList item uSNChanged > PartialAttributeList item name > PartialAttributeList item objectGUID > PartialAttributeList item objectSid > PartialAttributeList item sAMAccountName > PartialAttributeList item sAMAccountType > PartialAttributeList item groupType > PartialAttributeList item objectCategory > PartialAttributeList item dSCorePropagationData > PartialAttributeList item turbineGroupName > [Response To: 31] > [Time: 0.000349000 seconds] > Lightweight-Directory-Access-Protocol > LDAPMessage searchResEntry(2) > "CN=TurbineGroupService,OU=Turbine,OU=myproject,DC=example,DC=com" [2 > results] > messageID: 2 > protocolOp: searchResEntry (4) > searchResEntry > objectName: > CN=TurbineGroupService,OU=Turbine,OU=myproject,DC=example,DC=com > attributes: 17 items > PartialAttributeList item objectClass > PartialAttributeList item cn > PartialAttributeList item distinguishedName > PartialAttributeList item instanceType > PartialAttributeList item whenCreated > PartialAttributeList item whenChanged > PartialAttributeList item uSNCreated > PartialAttributeList item uSNChanged > PartialAttributeList item name > PartialAttributeList item objectGUID > PartialAttributeList item objectSid > PartialAttributeList item sAMAccountName > PartialAttributeList item sAMAccountType > PartialAttributeList item groupType > PartialAttributeList item objectCategory > PartialAttributeList item dSCorePropagationData > PartialAttributeList item turbineGroupName > [Response To: 31] > [Time: 0.000349000 seconds] > Lightweight-Directory-Access-Protocol > LDAPMessage searchResDone(2) success [2 results] > messageID: 2 > protocolOp: searchResDone (5) > searchResDone > resultCode: success (0) > matchedDN: > errorMessage: > [Response To: 31] > [Time: 0.000349000 seconds] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] >