kuskov
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Восстановление и добавление Администратора в Openfire с авторизацией в Active Directory. Смена пароля. Пришлось собирать по крупицам информацию по всему интернету. Поэтому запилю здесь пост про все что узнал. Проблема в следующем. После включения интеграции Openfire с AD локальные пользователи отключаются, в то же время пользователи из AD не редактируются. Соответственно инструкции по восстановлению локального администратора не подходят. Ниже три способа как воcстановить вход в Openfire, когда включена интеграция с AD. 1 Способ. Через конфиг. Вариант 1. через редактирование <authorizedUsernames> Прописать в файл Openfire\conf\openfire.xml в раздел <adminConsole> имена админов <authorizedUsernames> <adminConsole> <port>9090</port> <securePort>9091</securePort> <authorizedUsernames>admin</authorizedUsernames> </adminConsole> Вот здесь хитрая тонкость!!! Имя админа должно соответствовать полю "поля имя пользователя" )) Знаю, что не понятно. Объясняю. При настройке в связке с AD по умолчанию в этом поле указывается sAMAccountName. Так как у меня много пользователей в разных доменах и бывает, что имена совпадают, например user@subdomen1.domain.ru user@subdomen2.domain.ru в данном случае отбор по полю sAMAccountName будет возвращать пользователя user и один из них не сможет подключится. Поэтому если вы используете другое поле для отбора пользователей из AD, то именно его значение и необходимо указать в строке авторизации! Вариант 2 Через редактирование < authorizedJIDs> Аналогичен первому варианту только имя пользователя из Active Directory прописывается вместе с именем сервера. <adminConsole> <port>9090</port> <securePort>9091</securePort> <authorizedJIDs>admin@servername</authorizedJIDs> </adminConsole> Вот тут вторая хитрость!! Имя сервера это Доменное имя XMPP: im.domain.ru то есть имя пользователя для openfire и для AD разные!!! например user@im.domain.ru - openfire это user@domain.ru - AD 2. Способ. Через консоль. для восстановления доступа к консоли необходимо воспользоваться следующей инструкцией. https://discourse.igniterealtime.org/t/how-to-reset-admin-password-on-openfire-version-4-3-1/83990 Кратко. Вход осуществляется по одноразовому токену. Для этого в конфиг Openfire\conf\openfire.xml добавляется строка <oneTimeAccessToken>secretToken</oneTimeAccessToken>, где secretToken что угодно например так: <jive> <oneTimeAccessToken>12345</oneTimeAccessToken> <adminConsole> <!-- Disable either port by setting the value to -1 --> <port>9090</port> <securePort>9091</securePort> </adminConsole> ....... После этого в консоли на вкладке "Диспетчер сервера" - раздел "Свойства системы" - свойство "admin.authorizedJIDs" указать пользователя из AD по варианту 2 (смотри выше) 3 Способ Через SQL В зависимости от от версии SQL используем соответствующий способ подключения к базе данных. Находим таблицу ofproperty открываем ее в редакторе или используем SQL запрос и указываем в строке admin.authorizedJIDs соответствующее значение смотри выше. SQL запрос можно посмотреть здесь https://discourse.igniterealtime.org/t/adding-or-deleting-admin-accounts-to-openfire/55348 | Всего записей: 82 | Зарегистр. 22-09-2006 | Отправлено: 07:38 29-04-2020 | Исправлено: kuskov, 07:43 29-04-2020 |
|