|
Sorry - I missed the original post. Studying now... Gherna, Andrew Robert wrote: In uPortal 3.1.1, the parts it looks like I'm having trouble with is org/jasig/portal/groups/smartldap/SmartLdapGroupStore.java. The line in my original post calls the (deprecated) org/jasig/portal/services/PersonDirectory.java which gets the IPersonAttributeDAO. The implementation we are using is OverwritingPersonAttributeDao which calls into the PersonDirectroy api.On 11/3/09 8:57 AM, "Eric Dalquist" <[email protected]> wrote: Could you detail the changes since it sounds like Andy is having problems getting it working at all? Also, where is the source for this thing since it isn't part of uPortal right now? -Eric Susan Bramhall wrote: Yes. We're using it and made some changes to allow it to look for groups only in certain OUs. Love it. Susan Gherna, Andrew Robert wrote: Hi all, Apologies for cross-posting, but this seems like a developer issue to me. Andy ------ Forwarded Message From: Andy Gherna <[email protected]> <mailto:[email protected]> Reply-To: <[email protected]> <mailto:[email protected]> Date: Mon, 2 Nov 2009 20:52:56 -0600 To: <[email protected]> <mailto:[email protected]> Subject: Re:[uportal-user] Anyone got SmartLDAP successfully working in uPortal 3.1? We are having problems with this too. The cause is in SmartLdapGroupStore, specifically in the findContainingGroups method. Here's how we came across it. We are initializing uPortal 3.1.1. SmartLdap is configured via SmartLdapGroupStoreConfig.xml and turned on in compositeGroupServices.xml. We are running the initportal target in the ant file. Everything goes well until it's time to import channels into the database. When channels are published, any old channel data is deleted from the database. Part of this process is collecting the categories from the ChannelRegistryStore that the channel was originally published under so that they can be removed from the channel definition. Part of retrieving the categories is to iterate through any child groups and their containing groups. When SmartLdap is turned on, these groups are not empty (we have a connection to the backing store and SmartLdap has read through the groups it can access and has cached them by now). This is when findContainingGroups is called. The findContainingGroups code notices that the GroupMember it's passed is an entity. So, it builds an IPerson object. This is the key part. The IPerson is empty. A Map of Attributes is built from this line: Map<String,List> attr = PersonDirectory.getPersonAttributeDao().getMultivaluedUserAttributes(seed); The value of seed (which is itself a Map of Lists keyed by a String) in this case is a single-valued List containing the key of an EntityIdentifier (I'm assuming a channel ID). This Map is passed into the IPerson's (which through debugging we saw that it's PersonImpl) setAttributes method. This method expects to be able to iterate over the Set of Entry objects in the attr Map. In the for() statement, the NullPointerException is thrown. So there's something going on with the way this attr Map is being built. >From a SmartLdap standpoint, what should be brought back from the call to PersonDirectory.getPersonAttributeDao().getMultivaluedUserAttributes(Map)? Could this be a configuration problem or is it deeper than that? Eric Dalquist wrote: So it looks like SmartLDAP is trying to call PersonImpl.setAttributes and pass in NULL. The method was refactored for 3.0 but the old method would have failed in the same way. Where is the source for SmartLDAP? -Eric Domazlicky, Eric wrote: Has anyone got SmartLDAP to work in uPortal 3.1 with Active Directory? I tried setting it up in a configuration that seems right and then run "ant initportal". Importing the groups seems to go well but importing channels and other default objects seems to fail with this error: [java] Caused by: java.lang.NullPointerException [java] at org.jasig.portal.security.provider.PersonImpl.setAttributes(P ersonImpl.java:153) [java] at org.jasig.portal.groups.smartldap.SmartLdapGroupStore.findCon tainingGroups(SmartLdapGroupStore.java:167) [java] at org.jasig.portal.groups.ReferenceIndividualGroupService.findC ontainingGroups(ReferenceIndividualGroupService.java:193) [java] at org.jasig.portal.groups.ReferenceCompositeGroupService.findCo ntainingGroups(ReferenceCompositeGroupService.java:62) [java] at org.jasig.portal.groups.GroupMemberImpl.initializeContainingG roupKeys(GroupMemberImpl.java:267) If I go ahead and start the Portal and login I get basically the exact same error upon logging in via a CAS server that uses our LDAP/AD server for authentication. -- You are currently subscribed to [email protected] as: [email protected] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-user -- View this message in context: http://n4.nabble.com/Anyone-got-SmartLDAP-successfully-working-in-uPortal-3-1-tp271700p360887.html Sent from the uPortal Users mailing list archive at Nabble.com. --- You are currently subscribed to [email protected] as: [email protected] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-user ------ End of Forwarded Message --
Susan Bramhall ([email protected]) -- |
- RE:[uportal-dev] Anyone got SmartLDAP successfully w... Gherna, Andrew Robert
- Re: [uportal-dev] Anyone got SmartLDAP successf... Susan Bramhall
- Re: [uportal-dev] Anyone got SmartLDAP succ... Eric Dalquist
- Re: [uportal-dev] Anyone got SmartLDAP ... Susan Bramhall
- Re: [uportal-dev] Anyone got SmartLDAP ... Gherna, Andrew Robert
- Re: [uportal-dev] Anyone got SmartL... Susan Bramhall
- Re: [uportal-dev] Anyone got S... Susan Bramhall
- Re: [uportal-dev] Anyone got SmartL... Gherna, Andrew Robert
