ejabberd - Comments for "mod_shared_roster_ldap группы в ou" https://www.ejabberd.im/node/7905 en Получил список https://www.ejabberd.im/node/7905#comment-67729 <p>Получил список групп:<br /> <div class="codeblock"><code>2017-12-22 14:07:15.322 [debug] &lt;0.391.0&gt;@eldap:recvd_packet:849 {searchResEntry,{&#039;SearchResultEntry&#039;,&lt;&lt;&quot;ou=groups,ou=operators,dc=company,dc=my&quot;&gt;&gt;,[{&#039;PartialAttributeList_SEQOF&#039;,&lt;&lt;&quot;ou&quot;&gt;&gt;,[&lt;&lt;&quot;groups&quot;&gt;&gt;]}]}}</code></div> </p><p>Как я понимаю получаем список пользователей и название групп:</p> <div class="codeblock"><code>2017-12-22 14:07:15.611 [debug] &lt;0.391.0&gt;@eldap:send_command:789 {searchRequest,{&#039;SearchRequest&#039;,&lt;&lt;&quot;operators&quot;&gt;&gt;,baseObject,neverDerefAliases,0,5,false,{and,[{and,[{equalityMatch,{&#039;AttributeValueAssertion&#039;,&lt;&lt;&quot;objectClass&quot;&gt;&gt;,&lt;&lt;&quot;organizationalUnit&quot;&gt;&gt;}},{equalityMatch,{&#039;AttributeValueAssertion&#039;,&lt;&lt;&quot;ou&quot;&gt;&gt;,&lt;&lt;&quot;%g&quot;&gt;&gt;}}]},{and,[{equalityMatch,{&#039;AttributeValueAssertion&#039;,&lt;&lt;&quot;objectClass&quot;&gt;&gt;,&lt;&lt;&quot;posixAccount&quot;&gt;&gt;}},{not,{equalityMatch,{&#039;AttributeValueAssertion&#039;,&lt;&lt;&quot;loginShell&quot;&gt;&gt;,&lt;&lt;&quot;/bin/false&quot;&gt;&gt;}}}]}]},[&lt;&lt;&quot;description&quot;&gt;&gt;]}}</code></div> <p>Не понимаю почему он склеивает в один запрос два фильтра </p> <div class="codeblock"><code>ldap_gfilter: &quot;(&amp;(objectClass=organizationalUnit)(ou=%g))&quot; и ldap_ufilter: &quot;(&amp;(objectClass=posixAccount)(!(objectClass=gosaUserTemplate))(!(loginShell=/bin/false)))&quot;</code></div> <p>Так как фильтр не правильный получают такой ответ<br /> <div class="codeblock"><code>2017-12-22 14:07:15.614 [debug] &lt;0.391.0&gt;@eldap:recvd_packet:849 {searchResDone,{&#039;LDAPResult&#039;,invalidDNSyntax,&lt;&lt;&gt;&gt;,&lt;&lt;&quot;invalid DN&quot;&gt;&gt;,asn1_NOVALUE}}</code></div> </p><p>Модуль собрал от сюда <noindex><a href="https://github.com/sharewax/ejabberd/blob/4013629e5deecf3336b6ae97bf769852dc29c40e/src/mod_shared_roster_ldap.erl" title="https://github.com/sharewax/ejabberd/blob/4013629e5deecf3336b6ae97bf769852dc29c40e/src/mod_shared_roster_ldap.erl" rel="nofollow" >https://github.com/sharewax/ejabberd/blob/4013629e5deecf3336b6ae97bf7698...</a></noindex></p> Fri, 22 Dec 2017 11:31:23 +0000 bng comment 67729 at https://www.ejabberd.im В новом модуле фильтры https://www.ejabberd.im/node/7905#comment-67718 <p>В новом модуле фильтры ldap_gfilter и ldap_ufilter объединяет в запросе к ldap(увидел запрос в логе ldap)<br /> Старый модуль не получается собрать :(</p> Wed, 13 Dec 2017 11:47:44 +0000 bng comment 67718 at https://www.ejabberd.im Решил тут обновиться до https://www.ejabberd.im/node/7905#comment-67711 <p>Решил тут обновиться до версии 16.09. Бага EJAB-1480 закрыта. Хотелось бы узнать сейчас можно воспользоваться родным модулем mod_shared_roster_ldap или надо по прежнему использовать модифицированный модуль?<br /> Сходу с родным не получилось.</p> Fri, 08 Dec 2017 13:06:07 +0000 bng comment 67711 at https://www.ejabberd.im bng wrote: Может знаете https://www.ejabberd.im/node/7905#comment-59217 <div class="quote-msg"> <div class="quote-author"><em>bng</em> wrote:</div> <p>Может знаете возможно подписать сервис жаббера всем пользователям в ростере?</p></div> <p>Не понял вопрос.</p> Mon, 22 Oct 2012 20:49:51 +0000 mikekaganski comment 59217 at https://www.ejabberd.im Спасибо, работает только https://www.ejabberd.im/node/7905#comment-59216 <p>Спасибо, работает только пришлось добавить одну группу в исключение почему то несколько пользователей дублировались и были вне группы. Может знаете возможно подписать сервис жаббера всем пользователям в ростере?</p> Mon, 22 Oct 2012 13:43:20 +0000 bng comment 59216 at https://www.ejabberd.im Вы просто неправильно видите https://www.ejabberd.im/node/7905#comment-59202 <p>Вы просто неправильно видите задачу. Кстати, на странице EJAB-1480 есть примеры и обсуждения специально для случая получения списка из ou.</p> <p>Обращаю внимание, что этот конфиг работает только с модифицированной версией модуля!</p> <div class="codeblock"><code>{mod_shared_roster_ldap, [<br />&nbsp;&nbsp; {ldap_base, &quot;dc=company,dc=my&quot;},<br />%Сначала получите список групп. Кто Вам сказал, что это надо делать через пользователей?<br />&nbsp;&nbsp; {ldap_rfilter, &quot;(objectClass=organizationalUnit)&quot;},<br />%Теперь определите, где в полученных объектах хранятся идентификаторы групп<br />&nbsp;&nbsp; {ldap_groupattr, &quot;ou&quot;},<br />%Теперь, когда готов список идентификаторов всех групп, опросим каждую группу по отдельности, как на будет называться<br />&nbsp;&nbsp; {ldap_gfilter, &quot;(&amp;(objectClass=organizationalUnit)(ou=%g))&quot;},<br />%Атрибут, содержащий имя группы<br />&nbsp;&nbsp; {ldap_groupdesc, &quot;description&quot;},<br />%Пользователями группы будут её подобъекты в иерархии LDAP<br />&nbsp;&nbsp; {ldap_member_selection_mode, group_children},<br />%Для каждой группы модуль будет искать все подобъекты в качестве пользователей, но мы можем ограничить этот поиск (в данном случае не должно быть &quot;%u&quot;)<br />&nbsp;&nbsp; {ldap_ufilter, &quot;(objectClass=person)&quot;},<br />%Теперь определим, где у объектов-пользователей хранится пользовательская часть jid<br />&nbsp;&nbsp; {ldap_useruid, &quot;uid&quot;},<br />%Где у пользователя хранится отображаемое имя<br />&nbsp;&nbsp; {ldap_userdesc, &quot;cn&quot;}<br />%Как бы всё :)<br />]}</code></div> <p>Если Вы не хотите, чтобы какие-то конкретные ou попали в список групп, Вы можете либо уточнить ldap_base, либо внести эти конкретные ou в ldap_rfilter:</p> <div class="codeblock"><code>&nbsp;&nbsp; {ldap_rfilter, &quot;(&amp;(objectClass=organizationalUnit)(!(ou=operators)))&quot;},</code></div> Fri, 19 Oct 2012 23:59:34 +0000 mikekaganski comment 59202 at https://www.ejabberd.im Делаю для получения https://www.ejabberd.im/node/7905#comment-59201 <p>Делаю для получения пользователей {ldap_rfilter, "(&amp;(objectClass=posixAccount)(!(loginShell=/bin/false)))"},<br /> вывод у неё такой же как в примере выше пользователя test5.<br /> Не совсем понимаю как мне из записи uid=test5,ou=people,ou=operators,dc=company,dc=my выбрать вторую ou=* в той версии модуля которую вы порекомендовали. После этого взять и произвести поиск в '(&amp;(objectClass=gosaDepartment)(ou=%g))' для получения нормального имени.</p> Fri, 19 Oct 2012 12:31:23 +0000 bng comment 59201 at https://www.ejabberd.im В родной версиеи модуля https://www.ejabberd.im/node/7905#comment-59193 <p>В родной версиеи модуля невозможно использовать ou в качестве группы. Есть модификация, в которой это исправлено: <noindex><a href="https://support.process-one.net/browse/EJAB-1480" title="https://support.process-one.net/browse/EJAB-1480" rel="nofollow" >https://support.process-one.net/browse/EJAB-1480</a></noindex></p> Wed, 17 Oct 2012 12:53:20 +0000 mikekaganski comment 59193 at https://www.ejabberd.im