ejabberd - Comments for "LDAP аутентификация (Active Directory)" https://www.ejabberd.im/node/165 en А когда же появится https://www.ejabberd.im/node/165#comment-54468 <p>А когда же появится обновлённая тема ??? по Ejabberd 2.0.5. + MsActive Directory ???<br /> И вообще, я думаю что разработчики могли бы немного потрудиться и сделать нормальную авторизацию</p> Thu, 16 Jul 2009 13:30:38 +0000 mrakobes comment 54468 at https://www.ejabberd.im Добавлю, что https://www.ejabberd.im/node/165#comment-1525 <p>Добавлю, что скрипт работает, только если на клиенте поставить галочку "передавать пароль открытым текстом", иначе никак.</p> Sat, 01 Apr 2006 12:36:17 +0000 Dmitriy_K comment 1525 at https://www.ejabberd.im Извиняйте барин https://www.ejabberd.im/node/165#comment-1476 <p>Ну не знаю я перла, а скрипт исправил хм, берешь WinMerge и смотришь изменения в исходниках ejabberd, там новый параметр добавился вот его то я и вставил. Так что, что писать то и не знаю. А краткая инструкция есть здесь <noindex><a href="http://ejabberd.narod.ru" title="http://ejabberd.narod.ru" rel="nofollow" >http://ejabberd.narod.ru</a></noindex> правда она уже устарела, а на новую как всегда времени нет :(</p> Sat, 18 Mar 2006 08:54:15 +0000 olos comment 1476 at https://www.ejabberd.im Замеченные траблы https://www.ejabberd.im/node/165#comment-1423 <p>Этот скрипт пашет (кажись!) криво в сетях 2k, где NetBios-имя домена отличается от натив имени того же домена. Пример: домен как NetBios звучал у меня 'centralbuh', но native было 'central.com' И скрипт там пахал... ну-уу-у-у... странновато. Зато на другой конторе - все ОК! А отличия были тока в этом.<br /> Да и вот еще... какие-то траблы перли в сетях 2k3 с полным натив 2003 (там где все контроллеры 2003-е). Там были глюки с привязкой к АД.<br /> Я, пожалуй. разберусь со всем этим на досуге, а уважаемый Olos... он бы лучше доку подкинул о скелете скрипта... ну, там параметры принимаемые от сервера.. то-да-се.. А то рыбку есть мы все умеем, а нам бы ее еще ловить научится! Но за скрипт, естесно, большое ему спасибо.</p> Fri, 03 Mar 2006 06:02:39 +0000 kovalenko comment 1423 at https://www.ejabberd.im Столько времени прошло... https://www.ejabberd.im/node/165#comment-1334 <p>Сейчас актуальна версия eJabberD 1.0, уважаемый Olos прислал мне такой скриптик, который теоретически должен быть с ней совместим:</p> <p>#############################################################################<br /> # Name : check_pass_win32.pl<br /> # Data : 10.04.2005<br /> # Decription : Внешняя аутентификация пользователей<br /> # : системы мнгновенных сообщений Jabber<br /> # Author : Игорь С. Коваленко<br /> #############################################################################</p> <p>use Win32::NetAdmin;<br /> use Win32::OLE;<br /> use Win32::OLE::Variant;</p> <p># Здесь указывается домен измените MyDomain на имя вашего домена<br /> my $domain = "YourDomain.ru";<br /> # Здесь можно указать имя хоста, но лучше указать DC<br /> my $server = "YourServer.YourDomain.ru";</p> <p># Дополнительное условие: пользователь входит в группу AccessGroup<br /> $AccessGroup = "Domain Users";</p> <p>while(1)<br /> {</p> <p>my $nread;<br /> my $buf = "";</p> <p>$nread = sysread STDIN,$buf,2;</p> <p>do {<br /> exit;<br /> }<br /> unless $nread == 2;</p> <p>my $len = unpack "n",$buf;<br /> $nread = sysread STDIN,$buf,$len;</p> <p># Параметр $host добавлен для версий &gt; 0.9.1<br /> my ($op,$user,$host,$password) = split /:/,$buf;</p> <p>my $result;</p> <p>my $DC;<br /> Win32::NetAdmin::GetDomainController($server, $domain, $DC);<br /> #my $DC = "10.1.2.129";</p> <p>SWITCH:<br /> {<br /> $op eq 'auth' and do<br /> {</p> <p>if (Win32::NetAdmin::GroupIsMember($DC, $AccessGroup, $user)) {<br /> # Если пользователь член группы AccessGroup ...<br /> my $oRoot = Win32::OLE-&gt;GetObject("LDAP:");<br /> $Status = $oRoot-&gt;OpenDSObject("LDAP://$domain", $user, $password, 0x1);<br /> if (defined $Status) {<br /> # ... и удается от его имени привязаться к корню AD ...<br /> undef $Status;<br /> $result = 1;<br /> # ... то говорим, что пользователь аутентифицирован!<br /> }<br /> }</p> <p>},last SWITCH;</p> <p>$op eq 'setpass' and do<br /> {<br /> $result = 1;<br /> },last SWITCH;</p> <p>$op eq 'isuser' and do<br /> {<br /> if (Win32::NetAdmin::UsersExist($DC, $user)) {<br /> $result = 1;<br /> }</p> <p>},last SWITCH;<br /> };<br /> my $out = pack "nn",2,$result ? 1 : 0;<br /> syswrite STDOUT,$out;<br /> }</p> <p>========================<br /> Кто-либо пробовал его? Получилось?</p> Thu, 02 Feb 2006 08:26:09 +0000 Dmitriy_K comment 1334 at https://www.ejabberd.im