ejabberd - Comments for "Проблема с shared roster из LDAP"
https://www.ejabberd.im/node/10608
enИндивидуальный ростер - в БД
https://www.ejabberd.im/node/10608#comment-59581
<p>Индивидуальный ростер - в БД ejabberd. В БД Миранды хранятся настройки нонтактов, которые применяются поверх получаемого с сервера ростера (который представляет собой сумму индивидуального и общего ростеров).</p>
<p>Честно говоря, я никогда не задавался целью блокировать какие-нибудь команды серверу. Поэтому, боюсь, я тут не советчик. Но даже при условии неправильной работы фильтра можно попробовать это с другой стороны - ведь можно попробовать сделать БД с индивидуальными ростерами read-only (сразу говорю - не имею представления как, и может быть, это не сработает, просто направление).</p>
<p>При аутентификации LDAP и mod_vcard_ldap в БД сервера хранится индивидуальный ростер. Данные о именах и паролях, а также о никах и телефонах в БД не сохраняются.</p>
Mon, 08 Apr 2013 02:39:07 +0000mikekaganskicomment 59581 at https://www.ejabberd.imБольшое спасибо!
Подскажите
https://www.ejabberd.im/node/10608#comment-59580
<p>Большое спасибо!</p>
<p>Подскажите пожалуйста еще один момент: индивидуальный ростер пользователя хранится в базе данных миранды или в базе данных EJabberd??</p>
<p>Если в базе данных EJabberd, то есть ли какая-либо возможность управлять этим ростером?? Может как-то запрещать команды на его изменение или может как-то скриптом «обнулять» его (например, что-нибудь типа router-filter.xml в Jabberd2 – там можно с помощью XPath-выражений фильтровать определенные команды (хотя на тот момент, когда я пробовал Jabberd2, эта функция корректно не работала)).</p>
<p>И еще вопрос возник: если я использую авторизацию через LDAP, модули mod_vcard_ldap, mod_shared_roster_ldap, то какие данные пользователя продолжают храниться в базе данных EJabberd??</p>
Mon, 08 Apr 2013 01:19:09 +0000Mike33comment 59580 at https://www.ejabberd.imЭто нормальное поведение.
1.
https://www.ejabberd.im/node/10608#comment-59572
<p>Это нормальное поведение.</p>
<p>1. Невозможно запретить клиенту вообще что бы то ни было на его стороне. Например, конкретно Миранда может не удалить пользователя из ростера (это операция на стороне сервера), а просто спрятать его (т.е. выставить ему в БД флаг "скрыт" и не отображать его) - тогда сервер будет отправлять полный ростер, а клиент будет отображать только его часть. Пользователь может переименовать контакт. Может создать метаконтакт (миранда - многопротокольный клиент). Сервер никак в это не вмешивается.</p>
<p>2. Кроме того, сервер не запрещает пользователю менять контакт в ростере (т.е. назначать отображаемое имя и в какие группы он входит). Вообще создание общего ростера происходит так: сначала для этого пользователя строится его индивидуальный ростер, потом каждый контакт общего ростера ищется в этом индивидуальном, и если он уже там, его не трогают, добавляют только отсутствующие. Сервер лишь гарантирует, что в ростере будут все, а порядок там он не наводит. Ну, и ещё управляет видимостью (подпиской).</p>
<p>Если это Вам не подходит, у Вас лишь одна возможность: менять клиент (или писать свой, чтобы мог только то, что Вы хотите). Изменение серверной стороны не может полностью решить Вашу проблему, даже если захотеть.</p>
Sun, 07 Apr 2013 11:04:13 +0000mikekaganskicomment 59572 at https://www.ejabberd.im