6 Replies Latest reply on Feb 23, 2008 8:53 PM by kahotep

    JbossPortal and ldap

    badock

      Hello all,

      I use JBossPortal 2.6.3 with Openldap 2.23 for authentication.
      In a first time i used the ldif schema provided with the documentation : http://docs.huihoo.com/jboss/portal/2.6/reference-guide/html/ldap.html#d0e7333 and the ldap_identity-config.xml associated.

      Now i need to use a ldap schema like describe here : http://blog.jboss-portal.org/2007/07/ldap-support-tutorial-for-jboss-portal.html.
      So i used my ldap_identity-config.xml and change the things as describe.
      However, it doesn't work at all, meaning that i can't have the portal displayed at all.

      Did i miss something ?
      Should i first edit the login-config.xml file ? and if so, how, cause i can't find any accurate tutorial on this subject.

      Thank you for your time.
      Regards,


        • 1. Re: JbossPortal and ldap

          I was able to get everything but add/remove users to work. I don't think add/remove LDAP users/roles is supported in JBoss Portal yet, so this will have to be done in another way besides the user administration module currently in use (please correct me if I am wrong).

          I learned this after reading:
          http://lists.jboss.org/pipermail/jboss-dev-forums/2006-October/002831.html

          btw: I would highly recommend phpLDAPadmin for modifying the LDAP setup. It made life much easier for me, since I am not very well versed in using LDAP's command line utilities.
          http://phpldapadmin.sourceforge.net/

          In my setup, I used OpenLDAP, which I installed into my Ubuntu Linux system with:

          apt-get install slapd ldap-utils


          Here is a simple LDIF that worked for me. It has three users and two roles:

          version: 1
          
          # LDIF Export for: dc=cobracombat,dc=com
          # Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on February 21, 2008 4:49 pm
          # Server: My LDAP Server (localhost)
          # Search Scope: sub
          # Search Filter: (objectClass=*)
          # Total Entries: 8
          
          dn: dc=cobracombat,dc=com
          objectClass: top
          objectClass: dcObject
          objectClass: organization
          dc: cobracombat
          o: cobracombat
          
          dn: ou=People,dc=cobracombat,dc=com
          objectClass: top
          objectClass: organizationalUnit
          ou: People
          
          dn: uid=admin,ou=People,dc=cobracombat,dc=com
          objectClass: top
          objectClass: inetOrgPerson
          objectClass: person
          title: n/a
          uid: admin
          userPassword: lbjd7896
          cn: Administrator
          mail: cbcase@drs-tem.com
          sn: Administrator
          
          dn: uid=cbcase,ou=People,dc=cobracombat,dc=com
          objectClass: top
          objectClass: inetOrgPerson
          objectClass: person
          uid: cbcase
          cn: Chris Case
          mail: cbcase@drs-tem.com
          sn: Case
          userPassword: lbjd7896
          
          dn: uid=user,ou=People,dc=cobracombat,dc=com
          cn: user
          mail: email@email.com
          objectClass: top
          objectClass: inetOrgPerson
          objectClass: person
          sn: Portal User
          uid: user
          userPassword: user
          
          dn: ou=Roles,dc=cobracombat,dc=com
          objectClass: top
          objectClass: organizationalUnit
          ou: Roles
          
          dn: cn=Admin,ou=Roles,dc=cobracombat,dc=com
          cn: Admin
          description: Portal admin role
          objectClass: top
          objectClass: groupOfNames
          member: uid=admin,ou=People,dc=cobracombat,dc=com
          
          dn: cn=User,ou=Roles,dc=cobracombat,dc=com
          cn: User
          description: Portal user role
          objectClass: top
          objectClass: groupOfNames
          member: uid=admin,ou=People,dc=cobracombat,dc=com
          member: uid=user,ou=People,dc=cobracombat,dc=com
          member: uid=cbcase,ou=People,dc=cobracombat,dc=com
          


          Here is slapd.conf, the configuration file for my LDAP server.

          # This is the main slapd configuration file. See slapd.conf(5) for more
          # info on the configuration options.
          
          #######################################################################
          # Global Directives:
          
          # Features to permit
          #allow bind_v2
          
          # Schema and objectClass definitions
          include /etc/ldap/schema/core.schema
          include /etc/ldap/schema/cosine.schema
          include /etc/ldap/schema/nis.schema
          include /etc/ldap/schema/inetorgperson.schema
          
          # Where the pid file is put. The init.d script
          # will not stop the server if you change this.
          pidfile /var/run/slapd/slapd.pid
          
          # List of arguments that were passed to the server
          argsfile /var/run/slapd/slapd.args
          
          # Read slapd.conf(5) for possible values
          loglevel 0
          
          # Where the dynamically loaded modules are stored
          modulepath /usr/lib/ldap
          moduleload back_bdb
          
          # The maximum number of entries that is returned for a search operation
          sizelimit 500
          
          # The tool-threads parameter sets the actual amount of cpu's that is used
          # for indexing.
          tool-threads 1
          
          #######################################################################
          # Specific Backend Directives for bdb:
          # Backend specific directives apply to this backend until another
          # 'backend' directive occurs
          backend bdb
          checkpoint 512 30
          
          #######################################################################
          # Specific Backend Directives for 'other':
          # Backend specific directives apply to this backend until another
          # 'backend' directive occurs
          #backend <other>
          
          #######################################################################
          # Specific Directives for database #1, of type bdb:
          # Database specific directives apply to this databasse until another
          # 'database' directive occurs
          database bdb
          
          # The base of your directory in database #1
          suffix "dc=cobracombat,dc=com"
          
          # rootdn directive for specifying a superuser on the database. This is needed
          # for syncrepl.
          #rootdn "cn=Manager,dc=cobracombat,dc=com"
          rootdn "uid=admin,ou=People,dc=cobracombat,dc=com"
          rootpw lbjd7896
          
          # Where the database file are physically stored for database #1
          directory "/var/lib/ldap"
          
          # For the Debian package we use 2MB as default but be sure to update this
          # value if you have plenty of RAM
          dbconfig set_cachesize 0 2097152 0
          
          # Sven Hartge reported that he had to set this value incredibly high
          # to get slapd running at all. See http://bugs.debian.org/303057
          # for more information.
          
          # Number of objects that can be locked at the same time.
          dbconfig set_lk_max_objects 1500
          # Number of locks (both requested and granted)
          dbconfig set_lk_max_locks 1500
          # Number of lockers
          dbconfig set_lk_max_lockers 1500
          
          # Indexing options for database #1
          index objectClass eq
          
          # Save the time that the entry gets modified, for database #1
          lastmod on
          
          # Where to store the replica logs for database #1
          # replogfile /var/lib/ldap/replog
          
          # The userPassword by default can be changed
          # by the entry owning it if they are authenticated.
          # Others should not be able to see it, except the
          # admin entry below
          # These access lines apply to database #1 only
          access to attrs=userPassword,shadowLastChange
           by dn="cn=admin,dc=cobracombat" write
           by anonymous auth
           by self write
           by * none
          
          # Ensure read access to the base for things like
          # supportedSASLMechanisms. Without this you may
          # have problems with SASL not knowing what
          # mechanisms are available and the like.
          # Note that this is covered by the 'access to *'
          # ACL below too but if you change that as people
          # are wont to do you'll still need this if you
          # want SASL (and possible other things) to work
          # happily.
          access to dn.base="" by * read
          
          # The admin dn has full write access, everyone else
          # can read everything.
          access to *
           by dn="cn=admin,dc=cobracombat" write
           by * read
          
          # For Netscape Roaming support, each user gets a roaming
          # profile for which they have write access to
          #access to dn=".*,ou=Roaming,o=morsnet"
          # by dn="cn=admin,dc=nodomain" write
          # by dnattr=owner write
          
          #######################################################################
          # Specific Directives for database #2, of type 'other' (can be bdb too):
          # Database specific directives apply to this databasse until another
          # 'database' directive occurs
          #database <other>
          
          # The base of your directory for database #2
          #suffix "dc=debian,dc=org"
          


          Here is my ldap_identity-config.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           ~ JBoss, a division of Red Hat ~
           ~ Copyright 2006, Red Hat Middleware, LLC, and individual ~
           ~ contributors as indicated by the @authors tag. See the ~
           ~ copyright.txt in the distribution for a full listing of ~
           ~ individual contributors. ~
           ~ ~
           ~ This is free software; you can redistribute it and/or modify it ~
           ~ under the terms of the GNU Lesser General Public License as ~
           ~ published by the Free Software Foundation; either version 2.1 of ~
           ~ the License, or (at your option) any later version. ~
           ~ ~
           ~ This software is distributed in the hope that it will be useful, ~
           ~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~
           ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ~
           ~ Lesser General Public License for more details. ~
           ~ ~
           ~ You should have received a copy of the GNU Lesser General Public ~
           ~ License along with this software; if not, write to the Free ~
           ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~
           ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. ~
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
          
          <!--<!DOCTYPE identity-configuration PUBLIC
          "-//JBoss Portal//DTD JBoss Identity Configuration 1.0//EN"
          "http://www.jboss.org/portal/dtd/identity-config_1_0.dtd">-->
          
          <identity-configuration>
           <datasources>
           <datasource>
           <name>LDAP</name>
           <config>
           <option>
           <name>host</name>
           <value>192.168.1.102</value>
           </option>
           <option>
           <name>port</name>
           <value>389</value>
           </option>
           <option>
           <name>adminDN</name>
           <value>uid=admin,ou=People,dc=cobracombat,dc=com</value>
           </option>
           <option>
           <name>adminPassword</name>
           <value>lbjd7896</value>
           </option>
           <!-- <option>
           <name>protocol</name>
           <value>ssl</value>
           </option> -->
           </config>
           </datasource>
           </datasources>
           <modules>
           <module>
           <!--type used to correctly map in IdentityContext registry-->
           <type>User</type>
           <implementation>LDAP</implementation>
           <class>
           org.jboss.portal.identity.ldap.LDAPExtUserModuleImpl
           </class>
           <config/>
           </module>
           <module>
           <type>Role</type>
           <implementation>LDAP</implementation>
           <class>
           org.jboss.portal.identity.ldap.LDAPExtRoleModuleImpl
           </class>
           <config/>
           </module>
           <module>
           <type>Membership</type>
           <implementation>LDAP</implementation>
           <config/>
           </module>
           <module>
           <type>UserProfile</type>
           <implementation>DELEGATING</implementation>
           <config>
           <option>
           <name>ldapModuleJNDIName</name>
           <value>java:/portal/LDAPUserProfileModule</value>
           </option>
           </config>
           </module>
           <module>
           <type>DBDelegateUserProfile</type>
           <implementation>DB</implementation>
           <config>
           <option>
           <name>randomSynchronizePassword</name>
           <value>true</value>
           </option>
           </config>
           </module>
           <module>
           <type>LDAPDelegateUserProfile</type>
           <implementation>LDAP</implementation>
           <config/>
           </module>
           </modules>
          
           <options>
           <option-group>
           <group-name>common</group-name>
           <option>
           <name>userCtxDN</name>
           <value>ou=People,dc=cobracombat,dc=com</value>
           </option>
           <option>
           <name>userSearchFilter</name>
           <value><![CDATA[(&((uid={0})(objectClass=person)))]]></value>
           </option>
           <option>
           <name>roleCtxDN</name>
           <value>ou=Roles,dc=cobracombat,dc=com</value>
           </option>
           <option>
           <name>roleSearchFilter</name>
           <value><![CDATA[(&((cn={0})(objectClass=groupOfNames)))]]></value>
           </option>
           </option-group>
          
           </options>
          </identity-configuration>
          


          • 2. Re: JbossPortal and ldap

            Looking back again, I notice that there are some entries on my slapd.conf which, if JBoss does in fact allow changes, may be causing the problems.

            Perhaps the problem is here:

            # The userPassword by default can be changed
            # by the entry owning it if they are authenticated.
            # Others should not be able to see it, except the
            # admin entry below
            # These access lines apply to database #1 only
            access to attrs=userPassword,shadowLastChange
             by dn="cn=admin,dc=cobracombat" write
             by anonymous auth
             by self write
             by * none


            Which should probably be:

            # The userPassword by default can be changed
            # by the entry owning it if they are authenticated.
            # Others should not be able to see it, except the
            # admin entry below
            # These access lines apply to database #1 only
            access to attrs=userPassword,shadowLastChange
             by dn="uid=admin,ou=People,dc=cobracombat,dc=com" write
             by anonymous auth
             by self write
             by * none


            I will try it out and post the results. If anyone knows whether or not I am correct about LDAP updates being unsupported, please provide a confirmation.

            Thanks,
            Chris

            • 3. Re: JbossPortal and ldap

              OK, I updated the spot I mentioned earlier and another spot, to no avail...

              I corrected as follows:

              # The userPassword by default can be changed
              # by the entry owning it if they are authenticated.
              # Others should not be able to see it, except the
              # admin entry below
              # These access lines apply to database #1 only
              access to attrs=userPassword,shadowLastChange
               by dn="uid=admin,ou=People,dc=cobracombat,dc=com"
               by anonymous auth
               by self write
               by * none
              
              # Ensure read access to the base for things like
              # supportedSASLMechanisms. Without this you may
              # have problems with SASL not knowing what
              # mechanisms are available and the like.
              # Note that this is covered by the 'access to *'
              # ACL below too but if you change that as people
              # are wont to do you'll still need this if you
              # want SASL (and possible other things) to work
              # happily.
              access to dn.base="" by * read
              
              # The admin dn has full write access, everyone else
              # can read everything.
              access to *
               by dn="uid=admin,ou=People,dc=cobracombat,dc=com"
               by * read


              Perhaps I was right about changes in LDAP not being supported yet in JBoss Portal.

              ~chris

              • 4. Re: JbossPortal and ldap

                Sorry to post again... I just want to share the error that is thrown when attempting to add a user.

                17:46:00,857 ERROR [IdentityUserManagementServiceImpl] Error when creating user
                java.lang.UnsupportedOperationException: User management is not supported in this implementation of UserModule
                 at org.jboss.portal.identity.ldap.LDAPExtUserModuleImpl.createUser(LDAPExtUserModuleImpl.java:100)
                 at org.jboss.portal.core.identity.services.impl.IdentityUserManagementServiceImpl.createUser(IdentityUserManagementServiceImpl.java:187)
                 at org.jboss.portal.core.identity.services.workflow.impl.RegistrationServiceImpl.registerUser(RegistrationServiceImpl.java:163)
                 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:585)
                 at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
                 at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
                 at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                 at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
                 at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
                 at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
                 at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
                 at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
                 at $Proxy254.registerUser(Unknown Source)
                 at org.jboss.portal.core.identity.ui.actions.CreateUserAction.register(CreateUserAction.java:179)
                 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:585)
                 at com.sun.el.parser.AstValue.invoke(AstValue.java:130)
                 at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
                 at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
                 at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
                 at javax.faces.component.UICommand.broadcast(UICommand.java:89)
                 at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
                 at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
                 at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
                 at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
                 at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
                 at org.apache.myfaces.portlet.MyFacesGenericPortlet.processAction(MyFacesGenericPortlet.java:246)
                 at org.jboss.portal.faces.loader.FacesPortlet.processAction(FacesPortlet.java:83)
                 at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.invokeAction(PortletContainerImpl.java:458)
                 at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.dispatch(PortletContainerImpl.java:401)
                 at org.jboss.portal.portlet.container.PortletContainerInvoker$1.invoke(PortletContainerInvoker.java:86)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:131)
                 at org.jboss.portal.core.aspects.portlet.TransactionInterceptor.org$jboss$portal$core$aspects$portlet$TransactionInterceptor$invokeRequired$aop(TransactionInterceptor.java:106)
                 at org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeRequired_9103964459766407072.invokeNext(TransactionInterceptor$invokeRequired_9103964459766407072.java)
                 at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
                 at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
                 at org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeRequired_9103964459766407072.invokeNext(TransactionInterceptor$invokeRequired_9103964459766407072.java)
                 at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
                 at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
                 at org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeRequired_9103964459766407072.invokeNext(TransactionInterceptor$invokeRequired_9103964459766407072.java)
                 at org.jboss.portal.core.aspects.portlet.TransactionInterceptor.invokeRequired(TransactionInterceptor.java)
                 at org.jboss.portal.core.aspects.portlet.TransactionInterceptor.invoke(TransactionInterceptor.java:72)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.portlet.HeaderInterceptor.invoke(HeaderInterceptor.java:50)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.portlet.aspects.portlet.ProducerCacheInterceptor.invoke(ProducerCacheInterceptor.java:53)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.portlet.AjaxInterceptor.invoke(AjaxInterceptor.java:51)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.portlet.aspects.portlet.ModesInterceptor.invoke(ModesInterceptor.java:62)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.portlet.bridge.BridgeInterceptor.invoke(BridgeInterceptor.java:47)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.portlet.aspects.portlet.WindowStatesInterceptor.invoke(WindowStatesInterceptor.java:55)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.portlet.aspects.portlet.PortletSessionSynchronizationInterceptor.invoke(PortletSessionSynchronizationInterceptor.java:80)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.portlet.aspects.portlet.ContextTrackerInterceptor.invoke(ContextTrackerInterceptor.java:46)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.portlet.aspects.portlet.ContextDispatcherInterceptor$1.doCallback(ContextDispatcherInterceptor.java:104)
                 at org.jboss.portal.web.command.CommandDispatcher$CallbackCommand.execute(CommandDispatcher.java:74)
                 at sun.reflect.GeneratedMethodAccessor386.invoke(Unknown Source)
                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 at java.lang.reflect.Method.invoke(Method.java:585)
                 at org.jboss.portal.web.command.CommandServlet.doGet(CommandServlet.java:131)
                 at org.jboss.portal.web.command.CommandServlet.doPost(CommandServlet.java:162)
                 at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
                 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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
                 at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
                 at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
                 at org.jboss.portal.web.command.CommandServlet.include(CommandServlet.java:80)
                 at org.jboss.portal.web.command.CommandDispatcher.include(CommandDispatcher.java:50)
                 at org.jboss.portal.web.jboss.JBossWebContext.include(JBossWebContext.java:66)
                 at org.jboss.portal.web.ServletContainer.include(ServletContainer.java:182)
                 at org.jboss.portal.portlet.impl.spi.AbstractRequestContext.dispatch(AbstractRequestContext.java:81)
                 at org.jboss.portal.portlet.aspects.portlet.ContextDispatcherInterceptor.invoke(ContextDispatcherInterceptor.java:76)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.portlet.aspects.portlet.SecureTransportInterceptor.invoke(SecureTransportInterceptor.java:68)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.portlet.aspects.portlet.ValveInterceptor.invoke(ValveInterceptor.java:60)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:157)
                 at org.jboss.portal.portlet.container.PortletContainerInvoker.invoke(PortletContainerInvoker.java:198)
                 at org.jboss.portal.portlet.state.producer.ProducerPortletInvoker.invoke(ProducerPortletInvoker.java:233)
                 at org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker.org$jboss$portal$core$impl$portlet$state$ProducerPortletInvoker$invoke$aop(ProducerPortletInvoker.java:53)
                 at org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker$invoke_N8654503705355129869.invokeNext(ProducerPortletInvoker$invoke_N8654503705355129869.java)
                 at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
                 at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
                 at org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker$invoke_N8654503705355129869.invokeNext(ProducerPortletInvoker$invoke_N8654503705355129869.java)
                 at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
                 at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
                 at org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker$invoke_N8654503705355129869.invokeNext(ProducerPortletInvoker$invoke_N8654503705355129869.java)
                 at org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker.invoke(ProducerPortletInvoker.java)
                 at org.jboss.portal.portlet.federation.impl.FederatedPortletInvokerService.invoke(FederatedPortletInvokerService.java:147)
                 at org.jboss.portal.portlet.federation.impl.FederatingPortletInvokerService.invoke(FederatingPortletInvokerService.java:150)
                 at org.jboss.portal.core.impl.model.instance.InstanceContainerImpl$1.invoke(InstanceContainerImpl.java:99)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:131)
                 at org.jboss.portal.portlet.management.PortletContainerManagementInterceptorImpl.invoke(PortletContainerManagementInterceptorImpl.java:58)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.portlet.aspects.portlet.PortalSessionSynchronizationInterceptor.invoke(PortalSessionSynchronizationInterceptor.java:116)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.model.instance.InstanceSecurityInterceptor.invoke(InstanceSecurityInterceptor.java:91)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.portlet.aspects.portlet.ConsumerCacheInterceptor.invoke(ConsumerCacheInterceptor.java:175)
                 at org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:157)
                 at org.jboss.portal.core.impl.model.instance.InstanceContainerImpl.org$jboss$portal$core$impl$model$instance$InstanceContainerImpl$invoke$aop(InstanceContainerImpl.java:427)
                 at org.jboss.portal.core.impl.model.instance.InstanceContainerImpl$invoke_N8654503705355129869.invokeNext(InstanceContainerImpl$invoke_N8654503705355129869.java)
                 at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
                 at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
                 at org.jboss.portal.core.impl.model.instance.InstanceContainerImpl$invoke_N8654503705355129869.invokeNext(InstanceContainerImpl$invoke_N8654503705355129869.java)
                 at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
                 at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
                 at org.jboss.portal.core.impl.model.instance.InstanceContainerImpl$invoke_N8654503705355129869.invokeNext(InstanceContainerImpl$invoke_N8654503705355129869.java)
                 at org.jboss.portal.core.impl.model.instance.InstanceContainerImpl.invoke(InstanceContainerImpl.java)
                 at org.jboss.portal.core.impl.model.instance.AbstractInstance.invoke(AbstractInstance.java:231)
                 at org.jboss.portal.core.model.portal.command.action.InvokePortletWindowActionCommand.execute(InvokePortletWindowActionCommand.java:174)
                 at org.jboss.portal.core.controller.ControllerCommand$1.invoke(ControllerCommand.java:68)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:131)
                 at org.jboss.portal.core.aspects.controller.node.EventBroadcasterInterceptor.invoke(EventBroadcasterInterceptor.java:123)
                 at org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.controller.ControlInterceptor.invoke(ControlInterceptor.java:56)
                 at org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.controller.PageCustomizerInterceptor.invoke(PageCustomizerInterceptor.java:133)
                 at org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.controller.PolicyEnforcementInterceptor.invoke(PolicyEnforcementInterceptor.java:78)
                 at org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.controller.node.PortalNodeInterceptor.invoke(PortalNodeInterceptor.java:81)
                 at org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.controller.NavigationalStateInterceptor.invoke(NavigationalStateInterceptor.java:42)
                 at org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.controller.ajax.AjaxInterceptor.invoke(AjaxInterceptor.java:56)
                 at org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.controller.ResourceAcquisitionInterceptor.invoke(ResourceAcquisitionInterceptor.java:50)
                 at org.jboss.portal.core.controller.ControllerInterceptor.invoke(ControllerInterceptor.java:40)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:157)
                 at org.jboss.portal.core.controller.ControllerContext.execute(ControllerContext.java:134)
                 at org.jboss.portal.core.controller.Controller.processCommand(Controller.java:235)
                 at org.jboss.portal.core.controller.Controller.handle(Controller.java:217)
                 at org.jboss.portal.server.RequestControllerDispatcher.invoke(RequestControllerDispatcher.java:51)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:131)
                 at org.jboss.portal.core.cms.aspect.IdentityBindingInterceptor.invoke(IdentityBindingInterceptor.java:47)
                 at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.server.aspects.server.ContentTypeInterceptor.invoke(ContentTypeInterceptor.java:68)
                 at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.server.PortalContextPathInterceptor.invoke(PortalContextPathInterceptor.java:45)
                 at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.server.LocaleInterceptor.invoke(LocaleInterceptor.java:96)
                 at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.server.UserInterceptor.invoke(UserInterceptor.java:246)
                 at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.server.aspects.server.SignOutInterceptor.invoke(SignOutInterceptor.java:98)
                 at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.impl.api.user.UserEventBridgeTriggerInterceptor.invoke(UserEventBridgeTriggerInterceptor.java:65)
                 at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.core.aspects.server.TransactionInterceptor.org$jboss$portal$core$aspects$server$TransactionInterceptor$invoke$aop(TransactionInterceptor.java:49)
                 at org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInterceptor$invoke_N5143606530999904530.java)
                 at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
                 at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:253)
                 at org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInterceptor$invoke_N5143606530999904530.java)
                 at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
                 at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:262)
                 at org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143606530999904530.invokeNext(TransactionInterceptor$invoke_N5143606530999904530.java)
                 at org.jboss.portal.core.aspects.server.TransactionInterceptor.invoke(TransactionInterceptor.java)
                 at org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:38)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.server.aspects.LockInterceptor$InternalLock.invoke(LockInterceptor.java:69)
                 at org.jboss.portal.server.aspects.LockInterceptor.invoke(LockInterceptor.java:130)
                 at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
                 at org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:157)
                 at org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.java:250)
                 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.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                 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:230)
                 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                 at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
                 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
                 at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                 at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
                 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                 at java.lang.Thread.run(Thread.java:595)
                


                • 5. Re: JbossPortal and ldap
                  badock

                  I'm sorry, but i don't see any connection between what you're writing and my problems...

                  Sure, you seem to have issues with ldap+jboss too, but since your problems look a lot different from mine, i think you should get your own thread...

                  No offense, but you're not helping me getting information by flooding this thread.

                  Regards.

                  • 6. Re: JbossPortal and ldap

                     

                    "badock" wrote:
                    I'm sorry, but i don't see any connection between what you're writing and my problems...

                    Sure, you seem to have issues with ldap+jboss too, but since your problems look a lot different from mine, i think you should get your own thread...

                    No offense, but you're not helping me getting information by flooding this thread.

                    Regards.


                    Sorry dude,

                    I've always been of the philosophy that message board threads are more useful when all of the posts related to a particular subject are in a particular thread. In this case, JBossPortal and LDAP fits both of our situations.

                    That makes it alot easier to browse through the conversations on this subject imo.

                    My configuration works for everything except adding and removing users, so I thought it might be a good reference for you to look at.

                    My apologies.