У меня свежая и чистая установка epl, и я не могу войти на страницу администратора. Он снова и снова просит ввести учетные данные. Я не использую плагин аутентификации.
Версия: 1.8.0beta
settings.conf
{
"users": {
"admin": {
"is_admin": true,
"password": ****
}
},
"skinName": "colibris",
"ip": "127.0.0.1",
"port": 9001,
"showSettingsInAdminPage": true,
"dbType" : "mysql",
"dbSettings" : {
"user": ****,
"host": "localhost",
"port": 3306,
"password": ****,
"database": "etherpad_lite_db",
"charset": "utf8mb4"
},
"suppressErrorsInPadText": false,
"requireSession": false,
"editOnly": false,
"sessionNoPassword": false,
"minify": true,
"maxAge": 21600, // 60 * 60 * 6 = 6 hours
"abiword": "/usr/bin/abiword",
"soffice": null,
"tidyHtml": "/usr/bin/tidy",
"allowUnknownFileEnds": true,
"requireAuthentication": false,
"requireAuthorization": false,
"trustProxy": false,
"disableIPlogging": true,
"automaticReconnectionTimeout": 0,
"socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],
"loadTest": false,
"exposeVersion": false,
"loglevel": "INFO",
[...]
}
Я поискал в сети, но не нашел ни одной темы, касающейся моей проблемы. Любая идея?
-- Обновлять:
Вернулся к 1.7.5, где доступен админ.
Привет, это в новинку для меня.
Какие-либо предложения? В журнале сообщений нет.
Возможно, я неправильно понял управление пользователями:
Дело только в разделе "пользователи" в settings.json, не так ли?
"users": {
"admin": {
"is_admin": true,
"password": ****
}
}
-- Обновлять:
Вернулся к 1.7.5, где доступен админ.
Большое спасибо за обновление.
Если переход на 1.7.5 решил проблему для вас, то где-то может быть регресс. Стоит копнуть глубже.
И вот мы: это регрессия, представленная в 7c099fef5e08.
Последняя рабочая версия (4e758a9f4a50):
git checkout 4e758a9f4a50
node <base>/node_modules/ep_etherpad-lite/node/server.js
curl --silent --output /dev/null --write-out "HTTP/%{http_code}\n" --basic --user admin:password http://localhost:9001/admin/
HTTP/200
Регрессированная версия (7c099fef5e08):
git checkout 7c099fef5e08
node <base>/node_modules/ep_etherpad-lite/node/server.js
curl --silent --output /dev/null --write-out "HTTP/%{http_code}\n" --basic --user admin:password http://localhost:9001/admin/
HTTP/401
Спасибо, что заметили это!
Изменение, реализовавшее # 3648 (7c099fef5e08), было неправильным и привело к отключению всех пользователей при запуске.
Проблема была двоякой:
_.filter()
для объекта возвращает массив перечислимых значений объекта и удаляет ключи. Это изменило расположение объекта пользователя, фактически уничтожив всех._.pick()
;userProperties.password
было совершенно неверным (должно было быть И вместо ИЛИ).Спасибо @ g4rf за обнаружение этой ошибки.
Самый полезный комментарий
Изменение, реализовавшее # 3648 (7c099fef5e08), было неправильным и привело к отключению всех пользователей при запуске.
Проблема была двоякой:
_.filter()
для объекта возвращает массив перечислимых значений объекта и удаляет ключи. Это изменило расположение объекта пользователя, фактически уничтожив всех.См. Https://stackoverflow.com/questions/11697702/how-to-use-underscore-js-filter-with-an-object
Для фильтрации объекта необходимо использовать функцию
_.pick()
;userProperties.password
было совершенно неверным (должно было быть И вместо ИЛИ).Спасибо @ g4rf за обнаружение этой ошибки.