From f5d9aa7a973d2ded74386c718fddb6d9406c032b Mon Sep 17 00:00:00 2001 From: nuxsmin Date: Mon, 3 Feb 2014 02:53:09 +0100 Subject: [PATCH] * LDAP parameters checking --- ajax/ajax_checkLdap.php | 53 +++++++ imgs/refresh.png | Bin 0 -> 5027 bytes inc/auth.class.php | 6 +- inc/ldap.class.php | 177 +++++++++++++++++----- inc/locales/en_US/LC_MESSAGES/messages.mo | Bin 41740 -> 42273 bytes inc/tpl/config.php | 8 + js/functions.js | 46 ++++++ 7 files changed, 248 insertions(+), 42 deletions(-) create mode 100644 ajax/ajax_checkLdap.php create mode 100644 imgs/refresh.png diff --git a/ajax/ajax_checkLdap.php b/ajax/ajax_checkLdap.php new file mode 100644 index 00000000..59066ff4 --- /dev/null +++ b/ajax/ajax_checkLdap.php @@ -0,0 +1,53 @@ +. +* +*/ + +define('APP_ROOT', '..'); +include_once (APP_ROOT."/inc/init.php"); + +SP_Util::checkReferer('POST'); + +if ( ! SP_Init::isLoggedIn() ) { + SP_Common::printJSON(_('La sesión no se ha iniciado o ha caducado'), 10); +} + +$sk = SP_Common::parseParams('p', 'sk', FALSE); + +if (!$sk || !SP_Common::checkSessionKey($sk)) { + SP_Common::printJSON(_('CONSULTA INVÁLIDA')); +} + +$frmLdapServer = SP_Common::parseParams('p', 'ldapserver'); +$frmLdapBase = SP_Common::parseParams('p', 'ldapbase'); +$frmLdapGroup = SP_Common::parseParams('p', 'ldapgroup'); +$frmLdapBindUser = SP_Common::parseParams('p', 'ldapbinduser'); +$frmLdapBindPass = SP_Common::parseParams('p', 'ldapbindpass'); + +$resCheckLdap = SP_LDAP::checkLDAPConn($frmLdapServer,$frmLdapBindUser,$frmLdapBindPass,$frmLdapBase,$frmLdapGroup); + +if ( $resCheckLdap === FALSE ){ + SP_Common::printJSON(_('Error de conexión a LDAP').';;'._('Revise el registro de eventos para más detalles')); +} else{ + SP_Common::printJSON(_('Conexión a LDAP correcta').';;'._('Objetos encontrados').': '.$resCheckLdap,0); +} \ No newline at end of file diff --git a/imgs/refresh.png b/imgs/refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..8cac11a682b59d8a6e918cbe4ea94d5505e3c6b9 GIT binary patch literal 5027 zcmV;U6I|?xP)n_ z%B($Djb)SR{>aG#X(_V@9=;Fs9s&b=DxZL-S?{w;EVvs^T|ifs^S-M(YC2apcvphJ zb;d&KhOpMz5?(hJ*gTgxf)rcS+hSTJ0|d9=x>mx^jW@8Y@17Y2&pVeo9p!8DUij9DJwFYl#8)VSM#au=Qezf1FlVV zFH&t)%aDvbOe8I4t@eBle4hlTlnDsM5|$DOOAE&9Vi0(iC!bz(9P>Brb0Y&13Wn2J; z!y2(Ll2BxG<9d(R;d!`w^l%yQ_ z=MRLcMTrD{f}>rgX-qm#Q!CnnO&r|V);-#n0$zUzAS9Ly02t5-r`y(6t=-mHbqTFm zww-4H1&-zVh$xROb5aQ!p+>+*H~;U&%c+G*PG=;TX5+8wxVYj;dA{M1~!ZI1K^sZ=5Pb&PM}UT%7Z7E?n_NudY+p zikl!{I2%jtA&OQyA3?yzk}-Weos5j7CtinJ2Y@~XLT8m%Qx6apCG|j^mCo{u15UTU z((R*YiY~1UnnG-}+j^}}{;jQARk!=&?ng38_RH{~Z_xl)sqI%bH(avL#=4276(lSu zSZY7XDXEg5A4|vdfoP~NEoXiLFLwbQh80Pl%G>~`cA(4pqrz>CWfiL{oj$4ryhNiC zpb5@NO+fxQ#zxwMO&dQL>HP|f_t0G7@l+bHsn%WlwR&$S2(L~{Y$D*Fb+FD+{M&N8S-m4H1Kp@~8rzcJgzA8^xjNAcZ?6pek zS!?xD$L4xh!?iAZCD<`0HkxskRf&uyyTR_Y859%Kq$f1+ItY)pw`;M&7Xg7|?7}f& z?Ei^p#aZVbOND^K)9!IJODcH(HC946Aj>;{(hJpjUX#WU8D0ztF)8eY%egp z8N!b?jlyC|ODma2v3moIE_n;900is^y^&Hfk4?aw`S~RfG_8o( zIYL{1GOnb))H`wFeefN+0{naIPHYEVFfS(v>W{s;jrHEMDOE4b_B1k{I$@wXJ)W2k>V%Sz=!M3iR6{DdTehftq}%aPOA%pCy3 z`?qK|-Q}_Ij3`N{89mr^bvn4S`%dh@hHCGIj;sDUoSWF6$;n@E=+5yhl{Nr4l?kl& z*!)$RVfX0yRU^(uGea|MA1NVaj#%MNJ6+OS>Fs~P+^?jioR*ezA7#Xr!*K7;dp_It z%f<@#lW@JpDvfuhN#ZsT{^?@jOKHGLmo32MS3m!k$U=xwr^_e-I0_}BT3iciiB9N4 zprfb56yO+wxxW#XqwP=;4;=q^o438ecUNf7Jl9*)3!vvYNY zIe6Fs=SzWVfi85}1C*-eZQnG3q!=+`Yf+I(+{C$FC)9c{MK!0WFG#HTRh;lNXaTM! zuKHmR6m#K+&uOa+CMAumD0h(0tgpTOxBG_PfoIRWyM2>9S0-rVRN>FMsxP}epG5_o zO@?zbGCv(XZI)!^%q%S|Y+@NLevB3@2!HT&2tUiw)z;vO>?$|6~^>5y=sv?k2){rua(VRE<|H8UzN4bZ`!mPC<09IIeHA6=p zKN5bA=vLul)c<)PFxt;Tm}%)Y6<2@XnOOanTJMcPA8#yFo-(p-m@#UBjit!VTN>A* zDS#IEN~Xd90^0DCC&dr|a* zS~3YjTcwk1UR{aN>GEPzC{Bcq5nA2RJ^FGsZvvdd$pI*eBP=s>BHBhU$$0Jz zt^SRjD+A@Kism_!WHs-{jLtoAFckUXx%Ie#dl!(mWGW28phJ6nDD%NV%>7MYpb^1V zKF#szu=*@-w7d47iPdke@!sV3;G&R{WHj(}%M{?cqt;EWYYqOfmGm)lmBU9UR@-r4 z?7wsQ(BcFD3e}(EsWY|u*r>f}O;gaXV1z0`x&=aBi}TU#+6^^=i|4*&?P|{sfMp85 zQ62H8PDZ=ezrMt~$48ccWF29fgWZISl}02SyT)0R0xOahv|ei#Dv-pca+s z0z(^)n}RxxLe&QZLh&5>!T;FMan<)B7bx8i05!vVF6&te>uCVtUq+?<>vOW$#k<*m zJ$!t7s-*5>+1rpr{MYymiT`0HEAN7F zj-L)k06bRPIOf)hayP3MHEC>+@Hn~rJ|WsaREJO>k3}7}r;sL1wPhRNGdJL~U860z6=vd#Fu09E{5VXI}_RZ%9qytcKb28}|N6>_LQ6beN% zJ23Ar_wrAl)l$9vK;lB*Z(gDY9G+(Ng^j{BFmyXRWHKrO5P6V^|o{Rb>Y) zu*}*pZ$f_ZM*ry0MCyv!B3G$Apbv!obuyDPV=BXt&X$^rmU=&KemvsjZPkS~hg$_J z8-mq>gL@b=PGFQ;2H|nc)u8%++gu;0#W{;@-|wJ}_;0Sfnf;B#vjl{Hft2{30A0e{ z;)dj}21D`G)XtDb>MMQR*{xOQxj<6${uI#=dRiL;>sf~W2h7%hVQvY9$FbJI*pIDR z5!}LXEGeF!0#{${VMzYFOPbZue!FiRo0-1?5*NBV{N8Xl`9eA)8MSquyl#Q`Ji@el zd15&`X>YE&7&PSHvGxYW`6Un@$G9BFgt0HP+a0scUGL!xVe+<*=TIU?jtMwK^_vrmYXoR)(@HN1E#^I(=>)LAVbDXj_an;Ail&I0lY| zW8&De%~>fh#Lv@a$TPm5Y3Bd09~?`d45Y+&14?a-6dt?7(aetm-qg1|PQgkOh+$_O zkZe_1WR`|`eRUvM=E*!THj%gvLgdpR%qy5R0R@TNR+f9#xL|Ih^{&p` zeDXLLQtxFAo5zrcj!=Vl9~nvMgW(kJ5bd68zFDIHFj@Gz&2D3Nwymh#Y=Z=YB2yj~ z{XceKX9r;_LZnlomda!&q6zVT$vnO!Rp#L@0zVUQx_GMC(-$5*)N&nF4q|60!`tV* zekP}pU+g})SIkPcS*bc%tOnq5G$$$dA0Hauxw0uWH?r|gDxLeQ!LewvuqCEhTW3xiML1Z6*?M!+-Va>b><&tBI$5{J z?I;)N9UG4Q z9q@|3BbZmOf}XEe1`yC*pBf%dJ{p=x;%1PM0HK;1VF$w?tRAMK0t@jNJW>8VpOjF= z0|HCdR`DbViN4Y3(5BP-$0KUbK;$2R$A1Qj%vUaYA)yICz%K?qHX2FXKNyb06-Bdp z@%mKt1*_ozO$dORI&G%YEZnqM2;ou2Gh|JrgEYXZ8!BHgkGY4blQ;Up(xHQD0QXG^N^^sb?x6uZf89E`|iV!rV8?VtMT#%T{xM2xk;f95z z&K)%b01bh2gC_Yvc!s7X1;=cUvRXVieln+!caDsOW2xMC;iJz2Z;^${v#4K;z(h#^ z;rWaxjhq;ZJXlrc-s*AkMxH?H=1-tdwen{UB881*j2NBo)v1~Zk^va@sKJRkSo1kW z<7z|*3BKt+>99+qQ#3u4(<2g9-No*avWAoNUA zVXYur(+Ua{NInP$650$hYj|!_y{FV%Ex67<8-wEJwVvT{_rUl=ApGsv+gq&gi`Iam z5P1x=;n9?sdj;rLw~N2gFYtc1U^lkTupO1x25SM0rKO2!!$#(2C1dC@Fsv17k4~8_ zn4wsfoR~;OV~Nbq;EwULxlbbak^oQu1TykA0MVUHiO&IDX|u6c`kan6E{C0UIUr^m zd4MG_qLRP1TG)EA@E~~@%JK1}sEozMLy{!pk0y;DPNE4eRi(M4zZ|s~dlP_o7u55K zkd)dSBB^trj9oAA_D)EpU3SR#1UpCN9i`F0w$7=Xq~~N+$;w(PC1wvml)+8c$)C $attrValue) { if (is_array($attrValue)) { - if (array_key_exists($entryAttr, $attribs)){ - if ( $attrValue['count'] > 1 ){ + if (array_key_exists($entryAttr, $attribs)) { + if ($attrValue['count'] > 1) { $res[$attribs[$entryAttr]] = $attrValue; - } else{ + } else { $res[$attribs[$entryAttr]] = $attrValue[0]; } } @@ -200,7 +222,84 @@ class SP_LDAP { } } } - + return $res; } -} \ No newline at end of file + + /** + * @brief Realizar una búsqueda de objetos en la ruta indicada + * @return int con el número de resultados + */ + private static function searchBase() { + $message['action'] = __FUNCTION__; + + $groupDN = self::searchGroupDN(); + $filter = '(&(memberOf=' . $groupDN . ')(|(objectClass=inetOrgPerson)(objectClass=person)(objectClass=simpleSecurityObject)))'; + $filterAttr = array("dn"); + + $searchRes = @ldap_search(self::$ldapConn, self::$searchBase, $filter, $filterAttr); + + if (!$searchRes) { + $message['text'][] = _('Error al buscar objetos en DN base'); + $message['text'][] = 'LDAP ERROR: ' . ldap_error(self::$ldapConn) . '(' . ldap_errno(self::$ldapConn) . ')'; + $message['text'][] = 'LDAP FILTER: ' . $filter; + + SP_Common::wrLogInfo($message); + + throw new Exception(_('Error al buscar objetos en DN base')); + } + + return @ldap_count_entries(self::$ldapConn, $searchRes); + } + + /** + * @brief Obtener el RDN del grupo + * @return string con el RDN del grupo + */ + private static function searchGroupDN() { + $message['action'] = __FUNCTION__; + + $filter = '(cn=' . self::$ldapGroup . ')'; + $filterAttr = array("dn"); + + $searchRes = @ldap_search(self::$ldapConn, self::$searchBase, $filter, $filterAttr); + + if (!$searchRes) { + $message['text'][] = _('Error al buscar RDN de grupo'); + $message['text'][] = 'LDAP ERROR: ' . ldap_error(self::$ldapConn) . '(' . ldap_errno(self::$ldapConn) . ')'; + $message['text'][] = 'LDAP FILTER: ' . $filter; + + SP_Common::wrLogInfo($message); + + throw new Exception(_('Error al buscar RDN de grupo')); + } + + if (@ldap_count_entries(self::$ldapConn, $searchRes) === 1) { + $ldapSearchData = @ldap_get_entries(self::$ldapConn, $searchRes); + + if (!$ldapSearchData) { + $message['text'][] = _('Error al buscar RDN de grupo'); + $message['text'][] = 'LDAP ERROR: ' . ldap_error(self::$ldapConn) . '(' . ldap_errno(self::$ldapConn) . ')'; + + SP_Common::wrLogInfo($message); + + throw new Exception(_('Error al buscar RDN de grupo')); + } + + $message['text'][] = _('RDN de grupo encontrado'); + $message['text'][] = 'RDN: ' . $ldapSearchData[0]["dn"]; + + SP_Common::wrLogInfo($message); + + return $ldapSearchData[0]["dn"]; + } else { + $message['text'][] = _('Error al buscar RDN de grupo'); + $message['text'][] = 'LDAP FILTER: ' . $filter; + + SP_Common::wrLogInfo($message); + + throw new Exception(_('Error al buscar RDN de grupo')); + } + } + +} diff --git a/inc/locales/en_US/LC_MESSAGES/messages.mo b/inc/locales/en_US/LC_MESSAGES/messages.mo index 62f08220e6a66013e0a2446845c6d4425f1d5e83..661df5f92d745b135518ed13227a78bffafa1bb9 100644 GIT binary patch delta 13159 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 + + + + + + + + diff --git a/js/functions.js b/js/functions.js index 9ac1859f..3b4e6759 100644 --- a/js/functions.js +++ b/js/functions.js @@ -1004,4 +1004,50 @@ function resMsg(type, txt, url, action){ $.fancybox(html,{afterLoad: function(){ $('.fancybox-skin,.fancybox-outer,.fancybox-inner').css({'border-radius':'25px','-moz-border-radius':'25px','-webkit-border-radius':'25px'}); },afterClose : function() { if ( typeof(action) !== "undefined" ) eval(action);} }); +} + +// Función para comprobar la conexión con LDAP +function checkLdapConn(){ + var ldapServer = $('#frmConfig [name=ldapserver]').val(); + var ldapBase = $('#frmConfig [name=ldapbase]').val(); + var ldapGroup = $('#frmConfig [name=ldapgroup]').val(); + var ldapBindUser = $('#frmConfig [name=ldapbinduser]').val(); + var ldapBindPass = $('#frmConfig [name=ldapbindpass]').val(); + var sk = $('#frmConfig [name=sk]').val(); + + $.fancybox.showLoading(); + + $.ajax({ + type: 'POST', + dataType: 'json', + url: APP_ROOT + '/ajax/ajax_checkLdap.php', + data: {'ldapserver' : ldapServer, 'ldapbase' : ldapBase, 'ldapgroup' : ldapGroup, 'ldapbinduser' : ldapBindUser, 'ldapbindpass' : ldapBindPass, 'is_ajax' : 1, 'sk' : sk}, + success: function(json){ + var status = json.status; + var description = json.description; + + description = description.replace(/;;/g,"
"); + + switch(status){ + case 0: + $.fancybox.close(); + resMsg("ok", description); + break; + case 1: + $.fancybox.close(); + resMsg("error", description); + break; + case 10: + doLogout(); + break; + default: + return; + } + }, + error:function(jqXHR, textStatus, errorThrown){ + var txt = LANG[1] + '

' + errorThrown + textStatus + '

'; + resMsg("error", txt); + }, + complete: function(){$.fancybox.hideLoading();} + }); } \ No newline at end of file