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 +0000 mikekaganski comment 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 +0000 Mike33 comment 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 +0000 mikekaganski comment 59572 at https://www.ejabberd.im