<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ebasso.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Java%3A_Pega_Grupos_do_Usuario_no_LDAP</id>
	<title>Java: Pega Grupos do Usuario no LDAP - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://ebasso.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Java%3A_Pega_Grupos_do_Usuario_no_LDAP"/>
	<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Java:_Pega_Grupos_do_Usuario_no_LDAP&amp;action=history"/>
	<updated>2026-06-02T14:14:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Java:_Pega_Grupos_do_Usuario_no_LDAP&amp;diff=2922&amp;oldid=prev</id>
		<title>Ebasso at 22:39, 25 September 2014</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Java:_Pega_Grupos_do_Usuario_no_LDAP&amp;diff=2922&amp;oldid=prev"/>
		<updated>2014-09-25T22:39:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:39, 25 September 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Dados para conexão ao servidor ldap&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Dados para conexão ao servidor ldap&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= Código =&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Código abaixo.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Código abaixo.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l229&quot;&gt;Line 229:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 231:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= Ver também =&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[BIND: Configurando o suporte ao Active Directory]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[Java| Mais Artigos sobre Java]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[Tecnologias|  Mais Artigos sobre outras Tecnologias]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[Apache HTTP Server|  Mais Artigos sobre Apache HTTP Server]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*[[Linux|  Mais Artigos sobre Linux / UNIX / AIX]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Linux]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Tomcat]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Java]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Tecnologias]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Java:_Pega_Grupos_do_Usuario_no_LDAP&amp;diff=940&amp;oldid=prev</id>
		<title>Ebasso: New page: Essa classe conecta a um servidor LDAP e busca os grupos que usuário pertence, logo depois busca o atributo &#039;&#039;&#039;name&#039;&#039;&#039; do grupo respectivo  Solução testada usando o IBM Tivoli Directory...</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Java:_Pega_Grupos_do_Usuario_no_LDAP&amp;diff=940&amp;oldid=prev"/>
		<updated>2010-04-16T14:58:04Z</updated>

		<summary type="html">&lt;p&gt;New page: Essa classe conecta a um servidor LDAP e busca os grupos que usuário pertence, logo depois busca o atributo &amp;#039;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;#039; do grupo respectivo  Solução testada usando o IBM Tivoli Directory...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Essa classe conecta a um servidor LDAP e busca os grupos que usuário pertence, logo depois busca o atributo &amp;#039;&amp;#039;&amp;#039;name&amp;#039;&amp;#039;&amp;#039; do grupo respectivo&lt;br /&gt;
&lt;br /&gt;
Solução testada usando o IBM Tivoli Directory Server&lt;br /&gt;
&lt;br /&gt;
Os pré-requisitos são&lt;br /&gt;
&lt;br /&gt;
* Dados para conexão ao servidor ldap&lt;br /&gt;
&lt;br /&gt;
Código abaixo.&lt;br /&gt;
&lt;br /&gt;
 import javax.naming.*; &lt;br /&gt;
 import javax.naming.directory.*; &lt;br /&gt;
 import java.io.PrintStream;&lt;br /&gt;
 import java.util.ArrayList;&lt;br /&gt;
 import java.util.Iterator;&lt;br /&gt;
 import java.util.Enumeration;&lt;br /&gt;
 import java.util.Hashtable; &lt;br /&gt;
 import java.util.Properties; &lt;br /&gt;
 &lt;br /&gt;
 /**&lt;br /&gt;
 * Solução testada com o Tivoli Directory Server&lt;br /&gt;
 * @author ebasso&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
 public class PegaGruposUsuario {&lt;br /&gt;
    &lt;br /&gt;
 	public static final String _IBM_ALL_GROUPS_ = &amp;quot;ibm-allGroups&amp;quot;;&lt;br /&gt;
 	public static final String _AD_MEMBER_OF = &amp;quot;MemberOf&amp;quot;;&lt;br /&gt;
 	&lt;br /&gt;
 	/**&lt;br /&gt;
 	 * @param args&lt;br /&gt;
 	 */&lt;br /&gt;
 	public static void main(String[] args) {&lt;br /&gt;
 &lt;br /&gt;
 		try {&lt;br /&gt;
 			PrintStream out = System.out;&lt;br /&gt;
 			Properties pconn = new Properties();&lt;br /&gt;
 			&lt;br /&gt;
 			&lt;br /&gt;
  			PegaGruposUsuario jlquery = new PegaGruposUsuario();&lt;br /&gt;
 			// Dev&lt;br /&gt;
 	    	pconn.setProperty(&amp;quot;ldap.URL&amp;quot;, &amp;quot;ldap://192.168.10.1:389/&amp;quot;); &lt;br /&gt;
 	    	pconn.setProperty(&amp;quot;ldap.BaseDN&amp;quot;, &amp;quot;O=EMPRESAX,C=BR&amp;quot;); &lt;br /&gt;
 	    	pconn.setProperty(&amp;quot;ldap.user&amp;quot;,&amp;quot;uid=UsuarioBind,ou=usuarios,o=empresax,c=br&amp;quot;); &lt;br /&gt;
 	    	pconn.setProperty(&amp;quot;ldap.password&amp;quot;, &amp;quot;password&amp;quot;);&lt;br /&gt;
 	    	&lt;br /&gt;
 	    	String commonName = &amp;quot;Fulano de Tak&amp;quot;;&lt;br /&gt;
 			jlquery.runSolucao(out,pconn,commonName); &lt;br /&gt;
 			&lt;br /&gt;
  		&lt;br /&gt;
 		} catch (Exception e) {&lt;br /&gt;
 			e.printStackTrace();&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
  		&lt;br /&gt;
 	public void runSolucao(PrintStream out, Properties ldapconn, String userName) throws Exception {&lt;br /&gt;
 			&lt;br /&gt;
 		if ((userName == null) || (userName.equals(&amp;quot;&amp;quot;))){&lt;br /&gt;
 		    printNoGroup(out);&lt;br /&gt;
 		    return;&lt;br /&gt;
 		}&lt;br /&gt;
 		userName = userName+&amp;quot;*&amp;quot;;&lt;br /&gt;
 		&lt;br /&gt;
 		ArrayList&amp;lt;String&amp;gt; userGroups = buscaGruposUsuario(ldapconn, userName);&lt;br /&gt;
 		&lt;br /&gt;
 		if (userGroups == null ) {  // usuário não cadastrado em grupos&lt;br /&gt;
 			printNoGroup(out);&lt;br /&gt;
 			return ;&lt;br /&gt;
 		} &lt;br /&gt;
 		&lt;br /&gt;
 		ArrayList&amp;lt;String[]&amp;gt; arrayGruposLDAP = buscaNomeGrupo(ldapconn, userGroups);&lt;br /&gt;
 		if ( arrayGruposLDAP == null) { // nenhuma grupo tem caixa postal corporativa&lt;br /&gt;
 			printNoName(out);&lt;br /&gt;
 			return ;&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		// Pega os resultados e monta Retorno&lt;br /&gt;
 		printRetorno(out, arrayGruposLDAP);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	private ArrayList&amp;lt;String&amp;gt; buscaGruposUsuario (Properties ldapconn, String userName) throws Exception{&lt;br /&gt;
 	&lt;br /&gt;
 		String filter = &amp;quot;(&amp;amp;(objectClass=person)(uid=&amp;quot; + userName + &amp;quot;))&amp;quot;;&lt;br /&gt;
 		String[] attrIDs = {_IBM_ALL_GROUPS_};&lt;br /&gt;
 			&lt;br /&gt;
 		NamingEnumeration result = executaLdapQuery(ldapconn,filter,attrIDs);&lt;br /&gt;
 		   	&lt;br /&gt;
     	ArrayList&amp;lt;String&amp;gt; userGroups = null;&lt;br /&gt;
        if (result.hasMore()) {&lt;br /&gt;
         	userGroups = new ArrayList&amp;lt;String&amp;gt;();&lt;br /&gt;
 	    	while (result.hasMore()) {&lt;br /&gt;
 	        	SearchResult sr = (SearchResult)result.next();                     		&lt;br /&gt;
 	        	System.out.println(&amp;quot;1&amp;gt;&amp;gt;&amp;gt;&amp;quot; + sr.toString());&lt;br /&gt;
 	        	Attributes attrs = sr.getAttributes();&lt;br /&gt;
 	        	&lt;br /&gt;
 	        	for ( Enumeration e1 = attrs.get(_IBM_ALL_GROUPS_).getAll() ; e1.hasMoreElements() ; ) {&lt;br /&gt;
 	                String dnGroup = e1.nextElement().toString();&lt;br /&gt;
 	                &lt;br /&gt;
  	                userGroups.add(dnGroup);&lt;br /&gt;
  	                //System.out.println(&amp;quot;dnGroup&amp;gt;&amp;quot; + dnGroup);&lt;br /&gt;
 	        	}   &lt;br /&gt;
  	            break;      &lt;br /&gt;
 	        }&lt;br /&gt;
          }        	&lt;br /&gt;
          &lt;br /&gt;
          ldapconn.setProperty(&amp;quot;filter&amp;quot;,&amp;quot;&amp;quot;);&lt;br /&gt;
  		return userGroups;&lt;br /&gt;
 	}&lt;br /&gt;
  &lt;br /&gt;
 	private ArrayList&amp;lt;String[]&amp;gt; buscaNomeGrupo (Properties ldapconn, ArrayList&amp;lt;String&amp;gt; userGroups) throws  &lt;br /&gt;
 Exception { &lt;br /&gt;
 		&lt;br /&gt;
 		//String[] attrIDs = {&amp;quot;*&amp;quot;};&lt;br /&gt;
 		String[] attrIDs = {&amp;quot;name&amp;quot;};&lt;br /&gt;
 		&lt;br /&gt;
 				&lt;br /&gt;
 		ArrayList&amp;lt;String[]&amp;gt; arrayAUX = null;&lt;br /&gt;
 		&lt;br /&gt;
 		Iterator itr = userGroups.iterator();&lt;br /&gt;
 	    while (itr.hasNext()){&lt;br /&gt;
 	    	String groupName = (String) itr.next();&lt;br /&gt;
 	    	groupName =  this.getCN(groupName);&lt;br /&gt;
 	    	//System.out.println(&amp;quot;=&amp;gt;&amp;quot; + groupName);&lt;br /&gt;
 	    	String filter = &amp;quot;(&amp;amp;(objectClass=groupOfUniqueNames)(cn=&amp;quot;+ groupName + &amp;quot;))&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 	    	NamingEnumeration result = executaLdapQuery(ldapconn,filter,attrIDs);&lt;br /&gt;
 	    	while (result.hasMore()) {&lt;br /&gt;
 	        	SearchResult sr = (SearchResult)result.next();        &lt;br /&gt;
 	        	System.out.println(&amp;quot;Z&amp;gt;&amp;gt;&amp;gt;&amp;quot; +sr.toString());&lt;br /&gt;
 	        	String[] sAux = this.getGroupAttributes(sr.getAttributes());&lt;br /&gt;
 	        	if (sAux != null) {&lt;br /&gt;
 	        		if (arrayAUX == null) {&lt;br /&gt;
 	        			arrayAUX = new ArrayList&amp;lt;String[]&amp;gt;();&lt;br /&gt;
 	        		}&lt;br /&gt;
  	        		arrayAUX.add(sAux);&lt;br /&gt;
 	        	}&lt;br /&gt;
 	        	&lt;br /&gt;
 	    	}&lt;br /&gt;
 	    }&lt;br /&gt;
 	    ldapconn.setProperty(&amp;quot;filter&amp;quot;,&amp;quot;&amp;quot;);&lt;br /&gt;
 		return arrayAUX;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	private NamingEnumeration executaLdapQuery(Properties ldapquery,String filter,String[] attrIDs) throws &lt;br /&gt;
 Exception {&lt;br /&gt;
 		 // Set up the environment for creating the initial context &lt;br /&gt;
        String ldapCF = &amp;quot;com.sun.jndi.ldap.LdapCtxFactory&amp;quot;; &lt;br /&gt;
        String ldapURL = ldapquery.getProperty(&amp;quot;ldap.URL&amp;quot;); &lt;br /&gt;
        String ldapBaseDN = ldapquery.getProperty(&amp;quot;ldap.BaseDN&amp;quot;); &lt;br /&gt;
         String ldapUserID = ldapquery.getProperty(&amp;quot;ldap.user&amp;quot;);&lt;br /&gt;
        String ldapPassword = ldapquery.getProperty(&amp;quot;ldap.password&amp;quot;);  &lt;br /&gt;
       &lt;br /&gt;
        Hashtable env = new Hashtable(5); &lt;br /&gt;
       env.put(Context.INITIAL_CONTEXT_FACTORY, ldapCF); &lt;br /&gt;
       env.put(Context.PROVIDER_URL, ldapURL + ldapBaseDN); &lt;br /&gt;
       env.put(Context.SECURITY_PRINCIPAL, ldapUserID); &lt;br /&gt;
        env.put(Context.SECURITY_CREDENTIALS, ldapPassword); &lt;br /&gt;
      //set security credentials, note using simple cleartext authentication&lt;br /&gt;
 		env.put(Context.SECURITY_AUTHENTICATION,&amp;quot;simple&amp;quot;);&lt;br /&gt;
              	&lt;br /&gt;
       // Create initial context &lt;br /&gt;
       DirContext ctx = new InitialDirContext(env); &lt;br /&gt;
    &lt;br /&gt;
       SearchControls ctls = new SearchControls(); &lt;br /&gt;
       ctls.setReturningAttributes(attrIDs);&lt;br /&gt;
       ctls.setSearchScope(SearchControls.SUBTREE_SCOPE);&lt;br /&gt;
           &lt;br /&gt;
       // Search for objects using the above filter &lt;br /&gt;
       NamingEnumeration result = ctx.search(&amp;quot;&amp;quot;, filter, ctls); &lt;br /&gt;
     					&lt;br /&gt;
       // Close the context when we&amp;#039;re done &lt;br /&gt;
       ctx.close();&lt;br /&gt;
       return result;&lt;br /&gt;
 	}&lt;br /&gt;
 	     &lt;br /&gt;
    private void printRetorno(PrintStream out, ArrayList&amp;lt;String[]&amp;gt; arrayAUX) {&lt;br /&gt;
 &lt;br /&gt;
        String xOut = &amp;quot;&amp;quot;;&lt;br /&gt;
  	    	&lt;br /&gt;
        Iterator itr = arrayAUX.iterator();&lt;br /&gt;
 	    while (itr.hasNext()){&lt;br /&gt;
 	    	String[] sDado = (String[]) itr.next();&lt;br /&gt;
 	    &lt;br /&gt;
 	    	xOut =  &amp;quot;N&amp;gt;&amp;gt; [&amp;quot; + sDado[0] + &amp;quot;]&amp;quot;;&lt;br /&gt;
 	    	out.println(xOut);&lt;br /&gt;
 	    }&lt;br /&gt;
    }&lt;br /&gt;
 	     &lt;br /&gt;
    private void printNoGroup(PrintStream out) {&lt;br /&gt;
        String xOut = &amp;quot;Usuário não está dentro de Grupos&amp;quot;;&lt;br /&gt;
    	&lt;br /&gt;
    	out.println(xOut);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
        &lt;br /&gt;
    private void printNoName(PrintStream out) {&lt;br /&gt;
        String xOut = &amp;quot;Sem Nome Populados&amp;quot;;&lt;br /&gt;
    	&lt;br /&gt;
    	out.println(xOut);&lt;br /&gt;
    }&lt;br /&gt;
    	&lt;br /&gt;
    public static String getCN(String aux) {&lt;br /&gt;
    	&lt;br /&gt;
        if (aux != null &amp;amp;&amp;amp; aux.toUpperCase().startsWith(&amp;quot;CN=&amp;quot;)) {&lt;br /&gt;
        	aux = aux.substring(3).trim();&lt;br /&gt;
        }&lt;br /&gt;
        int position = aux.indexOf(&amp;#039;,&amp;#039;);&lt;br /&gt;
        if (position == -1) {&lt;br /&gt;
            return aux;&lt;br /&gt;
        } else {&lt;br /&gt;
            return aux.substring(0, position);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    private String[] getGroupAttributes(Attributes attrs) {	&lt;br /&gt;
    	String aux3 = &amp;quot;&amp;quot;;&lt;br /&gt;
    	&lt;br /&gt;
    	Attribute attr3 = attrs.get(&amp;quot;name&amp;quot;);&lt;br /&gt;
    	&lt;br /&gt;
    	if (attr3 != null) {&lt;br /&gt;
    		aux3 = attr3.toString();&lt;br /&gt;
    		&lt;br /&gt;
    		if (aux3.toUpperCase().startsWith(&amp;quot;NAME:&amp;quot;)) {&lt;br /&gt;
        		aux3 = aux3.substring(5).trim();&lt;br /&gt;
    		}&lt;br /&gt;
    	}	&lt;br /&gt;
        return (new String[] {aux3});&lt;br /&gt;
    }&lt;br /&gt;
     	&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
</feed>