<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Function1 &#187; Directory Services</title>
	<atom:link href="http://www.function1.com/category/directory-services/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.function1.com</link>
	<description>Discussing all things portal, WebCenter Interaction, WebCenter Suite, Sharepoint, and related technologies.</description>
	<lastBuildDate>Fri, 25 Jun 2010 15:20:23 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ALI 6.5 Directory Services</title>
		<link>http://www.function1.com/2008/09/ali-6-5-directory-services/</link>
		<comments>http://www.function1.com/2008/09/ali-6-5-directory-services/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 03:37:54 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Collaboration]]></category>
		<category><![CDATA[Directory Services]]></category>
		<category><![CDATA[Notification]]></category>

		<guid isPermaLink="false">http://wp.function1.com/index.php/235/uncategorized/ali-6-5-directory-services</guid>
		<description><![CDATA[In my (seemingly) never-ending quest to get Collaboration Notification working with 6.5, I ran into yet another error resulting in a ridiculous amount of diagnostic work.&#160; The good news is that the error I was running into was a simple self-inflicted problem.&#160; The bad news is there is an amazing lack of documentation about how [...]]]></description>
			<content:encoded><![CDATA[<p>In my (seemingly) <a href="http://www.function1.com/site/2008/08/collab_45_notification_rss_err.html">never-ending quest </a>to get <a href="http://www.function1.com/site/2008/08/ali_notificationcollab_templat.html">Collaboration Notification</a> working with 6.5, I ran into yet another error resulting in a ridiculous amount of diagnostic work.&nbsp; The good news is that the error I was running into was a simple self-inflicted problem.&nbsp; The bad news is there is an amazing lack of documentation about how the new Notification system works with Directory Services (the &#8220;BEA ALI LDAP Directory&#8221; service in Windows).</p>
<p>Here&#8217;s the general premise to ALI Directory Services: ALI 6.5 ships with this new Directory Services component that provides an LDAP service for Portal User accounts.&nbsp; The idea is that historically, the portal has been great at synching users from external repositories (from AD, LDAP, or custom sources) into its own database. Once those users get synched and aggregated into the portal, though, they&#8217;re not exposed to any other services.&nbsp; Directory Services aim to resolve that problem: 6.5 provides an LDAP server that uses the industry-standard LDAP protocol to expose users that have been synched to the portal.&nbsp; So any other system can use LDAP to get user information.</p>
<p>Fantastic feature, right? But with the dearth of documentation out there, what may not be immediately obvious is that this Directory Service is also used by internal components such as the Notification Server.</p>
<p>I&#8217;ve only begun to scratch the surface with how all these components work together, but if you&#8217;re interested in reading about how they DON&#8217;T work together (saving yourself hours of diagnostic time), hit the jump.</p>
<p><span id="more-235"></span></p>
<p>This was the problem: The notification service was throwing the following exception:</p>
<p>
<pre>Unable to retrieve user with UUID '{75AC0C94-1191-50A1-7217-1348987BA000}'
com.plumtree.security.InternalServerException
at com.plumtree.security.client.impl.util.ExceptionHelper.translate(ExceptionHelper.java:38)
at com.plumtree.security.client.impl.entity.UserManagerImpl.findUserByUuid(UserManagerImpl.java:79)
at com.plumtree.security.entity.UserManagerWrapper.findUserByUuid(UserManagerWrapper.java:48)
</pre>
<p><img class="mt-image-none" height="226" alt="directory_services_notification.jpg" src="http://www.function1.com/site/2008/08/02/directory_services_notification.jpg" width="829" /></p>
<p>At first I thought the problem was with the &#8220;BEA ALI Security and Directory Service&#8221; component, but then started to focus on the &#8220;BEA ALI LDAP Directory&#8221; service (Don&#8217;t get me started on the worthlessness of the exception itself.)</p>
<p>Anyway, the moral of this story is that the port set in the Configuration Manager for the &#8220;AquaLogic Notification Service&#8221; (under &#8220;User and Group Directory&#8221;) didn&#8217;t match the port for the &#8220;ALUI Directory&#8221; (under &#8220;LDAP Listener Settings&#8221;).</p>
<p>Because we already had an LDAP server running on that machine, I had to change the port for the LDAP service to 2389.&nbsp; But I also needed to change the port that Notification Server used to connect to it &#8211; which is fine, but isn&#8217;t that the point of the Configuration Manager &#8211; change a setting once and it&#8217;s reflected everywhere?</p>
<p>
<span class="mt-enclosure mt-enclosure-image" style="DISPLAY: inline"><img class="mt-image-none" height="360" alt="ldap_port.jpg" src="http://www.function1.com/site/2008/08/07/ldap_port.jpg" width="769" /></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2008/09/ali-6-5-directory-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ALI 6.5 Directory Services Part II</title>
		<link>http://www.function1.com/2008/09/ali-6-5-directory-services-part-ii/</link>
		<comments>http://www.function1.com/2008/09/ali-6-5-directory-services-part-ii/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 04:04:23 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Directory Services]]></category>

		<guid isPermaLink="false">http://wp.function1.com/index.php/236/uncategorized/ali-6-5-directory-services-part-ii</guid>
		<description><![CDATA[In my last post, I mentioned &#8220;6.5 provides an LDAP server that uses the industry-standard LDAP protocol to expose users that have been synched to the portal.&#160; So any other system can use LDAP to get user information.&#8221;
All well and good, sure, but how do you authenticate against this fancy new LDAP service in the [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://www.function1.com/site/2008/08/ali_65_directory_services.html">last post</a>, I mentioned &#8220;6.5 provides an LDAP server that uses the industry-standard LDAP protocol to expose users that have been synched to the portal.&nbsp; So any other system can use LDAP to get user information.&#8221;</p>
<p>All well and good, sure, but how do you authenticate against this fancy new LDAP service in the ALI stack?&nbsp; I tried using an LDAP Browser (stay tuned for that &#8220;cool tool&#8221; coming up) to see what the service had to offer, and had no idea how to authenticate against it.&nbsp; It kept requesting a password, and I kept using &#8220;administrator&#8221; and the admin password.&nbsp; No dice.</p>
<p>So I turned to another trust Cool Tool, <a href="http://www.function1.com/site/2007/10/cool-tools-part-iii-tcptrace.html">TcpTrace</a>, and exploited the fact that the Configuration Manager allows you to specify which port the LDAP server listens on separately from the port the Notification Service connects to it on (again, see the <a href="http://www.function1.com/site/2008/08/ali_65_directory_services.html">last post</a>).&nbsp; By getting the LDAP Server to listen on port 2389 and the Notification Service to connect on port 9999, I ran TcpTrace to proxy those connections from 9999 to 2389.&nbsp; Here&#8217;s what I saw:</p>
<p><span id="more-236"></span></p>
<p>
<p><img class="mt-image-none" height="386" alt="ldap_tcp_trace.jpg" src="http://www.function1.com/site/2008/08/08/ldap_tcp_trace.jpg" width="527" /></p>
<p>Aha!&nbsp; The User ID isn&#8217;t just &#8220;administrator&#8221;; it&#8217;s &#8220;<strong>uid=administrator,ou=users,dc=bea,dc=com</strong>&#8220;.&nbsp; (the red blobs are actually censoring our administrator users&#8217; password).&nbsp; Remind me again, how was I supposed to know that?&nbsp; Oh yeah, maybe I wasn&#8217;t&#8230;</p>
<p>Anyway, when you do your 6.5 upgrade, you should be able to use the same format to connect to this LDAP service and check it out for yourself.&nbsp; How?&nbsp; Stay tuned!</p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.function1.com/2008/09/ali-6-5-directory-services-part-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
