Saltar al contenido

LDAP JAVA Update Attribute jpegPhoto

ldap_jpegphoto

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<span class="kwd">package</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">empresa</span><span class="pun">;</span><span class="pln">
 
</span><span class="kwd">import</span><span class="pln"> java</span><span class="pun">.</span><span class="pln">util</span><span class="pun">.</span><span class="typ">Hashtable</span><span class="pun">;</span><span class="pln">
 
</span><span class="kwd">import</span><span class="pln"> javax</span><span class="pun">.</span><span class="pln">naming</span><span class="pun">.</span><span class="typ">Context</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> javax</span><span class="pun">.</span><span class="pln">naming</span><span class="pun">.</span><span class="pln">directory</span><span class="pun">.</span><span class="typ">BasicAttribute</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> javax</span><span class="pun">.</span><span class="pln">naming</span><span class="pun">.</span><span class="pln">directory</span><span class="pun">.</span><span class="typ">DirContext</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> javax</span><span class="pun">.</span><span class="pln">naming</span><span class="pun">.</span><span class="pln">directory</span><span class="pun">.</span><span class="typ">InitialDirContext</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">import</span><span class="pln"> javax</span><span class="pun">.</span><span class="pln">naming</span><span class="pun">.</span><span class="pln">directory</span><span class="pun">.</span><span class="typ">ModificationItem</span><span class="pun">;</span><span class="pln">
 
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">ActualizarLDAP</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
     
    </span><span class="kwd">private</span><span class="pln"> </span><span class="typ">DirContext</span><span class="pln"> dirContext </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">;</span><span class="pln">
    </span><span class="typ">ModificationItem</span><span class="pun">[]</span><span class="pln"> modItemsOne </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">ModificationItem</span><span class="pun">[</span><span class="lit">1</span><span class="pun">];</span><span class="pln">
     
    </span><span class="kwd">public</span><span class="pln"> </span><span class="typ">ActualizarLDAP</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
         
        </span><span class="kwd">try</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
             
            </span><span class="typ">String</span><span class="pln"> url </span><span class="pun">=</span><span class="pln"> </span><span class="str">"ldap://<IP_SERVER>:389"</span><span class="pun">;</span><span class="pln">
            </span><span class="typ">String</span><span class="pln"> conntype </span><span class="pun">=</span><span class="pln"> </span><span class="str">"simple"</span><span class="pun">;</span><span class="pln">
            </span><span class="typ">String</span><span class="pln"> </span><span class="typ">AdminDn</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"cn=root"</span><span class="pun">;</span><span class="pln">
            </span><span class="typ">String</span><span class="pln"> password </span><span class="pun">=</span><span class="pln"> </span><span class="str">"xxx"</span><span class="pun">;</span><span class="pln">
             
            </span><span class="typ">Hashtable</span><span class="pun"><</span><span class="typ">String</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pun">></span><span class="pln"> environment </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Hashtable</span><span class="pun"><</span><span class="typ">String</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pun">>();</span><span class="pln">
            </span><span class="typ">Hashtable</span><span class="pun"><</span><span class="typ">String</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pun">></span><span class="pln"> environmentVar </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Hashtable</span><span class="pun"><</span><span class="typ">String</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pun">>();</span><span class="pln">
 
            environmentVar</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="typ">Context</span><span class="pun">.</span><span class="pln">INITIAL_CONTEXT_FACTORY</span><span class="pun">,</span><span class="pln"> </span><span class="str">"com.sun.jndi.ldap.LdapCtxFactory"</span><span class="pun">);</span><span class="pln">
            environmentVar</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="typ">Context</span><span class="pun">.</span><span class="pln">PROVIDER_URL</span><span class="pun">,</span><span class="pln"> url</span><span class="pun">);</span><span class="pln">
            environmentVar</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="typ">Context</span><span class="pun">.</span><span class="pln">SECURITY_AUTHENTICATION</span><span class="pun">,</span><span class="pln"> conntype</span><span class="pun">);</span><span class="pln">
            environmentVar</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="typ">Context</span><span class="pun">.</span><span class="pln">SECURITY_PRINCIPAL</span><span class="pun">,</span><span class="pln"> </span><span class="typ">AdminDn</span><span class="pun">);</span><span class="pln">
            environmentVar</span><span class="pun">.</span><span class="pln">put</span><span class="pun">(</span><span class="typ">Context</span><span class="pun">.</span><span class="pln">SECURITY_CREDENTIALS</span><span class="pun">,</span><span class="pln"> password</span><span class="pun">);</span><span class="pln">
 
            dirContext </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">InitialDirContext</span><span class="pun">(</span><span class="pln">environmentVar</span><span class="pun">);</span><span class="pln">           
             
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">catch</span><span class="pln"> </span><span class="pun">(</span><span class="typ">Exception</span><span class="pln"> ee</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            ee</span><span class="pun">.</span><span class="pln">printStackTrace</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
     
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">boolean</span><span class="pln"> updateJPEGPHOTO</span><span class="pun">(</span><span class="typ">String</span><span class="pln"> entryDN</span><span class="pun">,</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> base64</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
         
        </span><span class="kwd">boolean</span><span class="pln"> flag </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">try</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            modItemsOne</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">ModificationItem</span><span class="pun">(</span><span class="typ">DirContext</span><span class="pun">.</span><span class="pln">REPLACE_ATTRIBUTE</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">BasicAttribute</span><span class="pun">(</span><span class="str">"jpegPhoto"</span><span class="pun">,</span><span class="pln"> base64</span><span class="pun">));</span><span class="pln">
            dirContext</span><span class="pun">.</span><span class="pln">modifyAttributes</span><span class="pun">(</span><span class="pln">entryDN</span><span class="pun">,</span><span class="pln"> modItemsOne</span><span class="pun">);</span><span class="pln">
            flag </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">catch</span><span class="pln"> </span><span class="pun">(</span><span class="typ">Exception</span><span class="pln"> exception</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            exception</span><span class="pun">.</span><span class="pln">printStackTrace</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> flag</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
     
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">static</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> main</span><span class="pun">(</span><span class="typ">String</span><span class="pun">[]</span><span class="pln"> args</span><span class="pun">){</span><span class="pln">
         
        </span><span class="typ">String</span><span class="pln"> entryDN </span><span class="pun">=</span><span class="pln"> </span><span class="str">"uid=example,O=EMPRESA"</span><span class="pun">;</span><span class="pln">
        </span><span class="typ">String</span><span class="pln"> base64 </span><span class="pun">=</span><span class="pln"> </span><span class="str">"data:image/png;base64,iVBORw0KGgoAAAANSUh..."</span><span class="pun">;</span><span class="pln">
                 
        </span><span class="typ">ActualizarLDAP</span><span class="pln"> actualizarLDAP </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">ActualizarLDAP</span><span class="pun">();</span><span class="pln">
         
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">actualizarLDAP</span><span class="pun">.</span><span class="pln">updateJPEGPHOTO</span><span class="pun">(</span><span class="pln">entryDN</span><span class="pun">,</span><span class="pln"> base64</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Foto actualizada"</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="pln">println</span><span class="pun">(</span><span class="str">"Fallo actualizar foto"</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
         
    </span><span class="pun">}</span><span class="pln">
     
</span><span class="pun">}</span><span class="pln">
</span>

Fuente:

  • http://java2db.com/jndi-ldap-programming/update-or-modify-ldap-entry-using-java-jndi
  • http://www.coderpanda.com/tag/update-attribute-in-ldap-using-java/

Si te ha interesado este artículo y deseas un apoyo o asesoría en algún requerimiento, envíame un mensaje a: (info@juliopari.com) o sino a través de Linkedin: https://www.linkedin.com/in/juliopari/