2016-10-17 3 views
0

Я хочу, чтобы пользователь не дублировал логин.Mosquitto предотвратить дублировать логин

В настоящее время я использую mosquitto с подписанием разных PKI для каждого клиента, но даже если я включу флаг allow_annonymous, пользователь все равно сможет подключить сервер mosquitto без имени пользователя и пароля. (Так что пользователь может дублировать логин с одним PKI)

Есть ли способ гарантировать, что PKI может войти только в один сеанс? Установлен ли файл имени пользователя/пароля для предотвращения дублирования входа? Или другой способ отключить повторный вход?

Благодаря

ответ

1

Нет, нет никакого способа, чтобы ограничить количество подключений на основе имени пользователя (или сертификат СN)

Best вы могли бы сделать, это убедиться, что каждый пользователь использует тот же client_id, так как только на соединение разрешено на client_id, когда второй попытался подключиться, он отключит первый

+0

Спасибо @hardillb, я просто вычислил странное комбо-решение, используйте три символа 'require_certificate' и' use_identity_as_username' и 'use_username_as_clientid' три символа. Поскольку mosquitto не может войти в качестве одного и того же идентификатора клиента, старое соединение будет закрыто. Это самое близкое решение для меня сейчас. Как вы думаете, здесь есть некоторые ошибки? – Asoul

+0

Хмм, я пропустил 'use_username_as_clientid'. Это должно работать – hardillb

+0

Да: D. Кстати, знаете ли вы, как изменить дублирующий клиентский механизм? После изменения этой конфигурации, если у меня есть два клиента, используйте один и тот же PKI, тогда два клиента будут повторно выходить из другого. Есть ли какой-либо флаг для изменения этого, что последнее соединение потерпит неудачу, а не выйдет из первого? – Asoul

Смежные вопросы