We have developed a number of custom channels for Luminis III that get the users' uPortal, and Banner, ID and get personalized information from Banner for display to the user. Cool.
To do this, we use the IPerson object, something along the lines of:
IPerson person = staticData.getPerson();
String username = (String) person.getAttribute("username");
However, with Luminis IV, the 'username' attribute is no longer giving us what we want. It returns the immutable id, not the Banner or userid. Hmmm.
It turns out we'll need to get the info from 'urn:sungardhe:dir:loginId' (yikes!) instead, although, we may be able to map that to something simpler, like pdsLoginId (ala Jason. See http://www.lumdev.net/node/1578).
Looks like the best bet is to rewrite the channels now, adding a channel parameter for the attribute to get the Luminis/Banner id from, implement now with 'username', and on IV with a different value.
Make sense? Anyone else run across a similar gotcha?
Thanks Bob.
PS. Channels that will need mods include the WebCT SSO channel that we use. Take note Dave...
Comments
I just mapped pdsLoginID to uid
When Luminis IV came out, we just mapped pdsLoginID to the label uid in the personDirectory.xml file. That way, we didn't have to change any of our custom code.
I doubt we'll ever need to use the luminis uid number, so it worked well for us to have iPerson return uid populated with the pdsLoginID instead of that long random number.
RE:I just mapped pdsLoginID to uid
can you show us the code snippet?
We are in the same situation, ext. apps authenticating against LUM LDAP with uid and they do not work in Platform 4.
I would like to test this out.
thanks!