Как дать всем доступ для чтения и записи к каналу pubsub - PullRequest
2 голосов
/ 26 января 2012

Я хочу дать каждому, кто подписывается на узел, возможность как читать, так и писать на этот узел. Джо создал узел "test5" в коде ниже. Когда Марк пытается опубликовать сообщение, я получаю сообщение об ошибке.

Я использую XMPPFramework для iphone. Я получаю следующую ошибку IQ. Похоже, что openfire говорит мне, что я не могу опубликовать элемент, потому что у меня нет доступа? Какая модель доступа по умолчанию открыта?

Не означает ли это, что любой может подписаться на узел "test5", а любой может публиковать на нем элементы?

JID поддельного пользователя, который первоначально создал узел "tes5", был "mark@joes-macbook-air.local"

Может ли неавторизованная публикация сообщения быть пометкой b / c, не является владельцем узла с названием "test5"?

Что если я хочу, чтобы Марк мог также публиковать сообщения в этом фиде?

<iq xmlns="jabber:client" type="error" from="pubsub.joes-macbook-air.local" to="joe@joes-macbook-air.local/838f75ba"><pubsub xmlns="http://jabber.org/protocol/pubsub">

<publish node="test5"><item><body>Helpl me</body></item></publish>

</pubsub><error code="403" type="auth">

<forbidden xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>

</error>

</iq>

Обновление: я сделал подписчика "издателем". Это делается путем изменения publish_model узла.

1 Ответ

0 голосов
/ 09 апреля 2012

Это зависит от конфигурации узла в вашем сервисе pubsub. В частности, режим доступа вашего узла. В XEP-0060 раздел моделей доступа дает хорошее объяснение различных методов доступа. ( 1 ) В вашем случае вам понадобится «Открыть», который определяется как «Любая сущность может подписаться на узел (т. Е. Без необходимости одобрения подписки), и любая сущность может получить элементы». от узла (т. е. без подписки), это ДОЛЖНО быть моделью доступа по умолчанию для общих служб pubsub. "

Надеюсь, это даст четкий ответ на ваш вопрос.

...