Dahua NetSDK Ошибка 27: NET_LOGIN_ERROR_USER — Пользователь не существует
Отказ входа при попытке сетевого подключения:
- Функция авторизации возвращает
0, аCLIENT_GetLastError()возвращает код27. - В структуре
stOut.nErrorвозвращается код2(User does not exist). - Приложение не может подключиться под служебным логином интеграции.
Ошибка NET_LOGIN_ERROR_USER (27) означает, что переданное в параметрах имя пользователя (Username) отсутствует во внутренней базе данных учетных записей устройства.
1. Проверка регистра имени пользователя (Case-Sensitivity)
В Linux-based прошивках Dahua имена пользователей чувствительны к регистру. Логин Admin или ADMIN не эквивалентен стандартному admin.
// Всегда передавайте имя пользователя в нижнем регистре для дефолтных учетных записей
strncpy(stIn.szUserName, "admin", sizeof(stIn.szUserName) - 1);2. Проверка скрытых пробелов и спецсимволов
При чтении учетных данных из .env или .json конфигов часто попадают невидимые символы переноса строки (\r\n) или хвостовые пробелы. Реализуйте предварительный тримминг строк:
std::string CleanString(std::string str) {
str.erase(str.find_last_not_of(" \n\r\t") + 1);
str.erase(0, str.find_first_not_of(" \n\r\t"));
return str;
}3. Проверка учетных записей типа ONVIF vs NetSDK
Начиная с прошивок 2021 года, учетные записи для ONVIF и локального NetSDK (DVR/NVR users) разделены. Пользователь, созданный в меню Security -> ONVIF User, не может использоваться для прямого входа через NetSDK (порт 37777). Создайте пользователя в основном меню System -> Account.
Частые вопросы (FAQ)
Можно ли войти под учетной записью 'default'?
Нет, аккаунт 'default' используется прошивкой для локального предпросмотра без авторизации и заблокирован для сетевого входа.
Поддерживает ли NetSDK доменную авторизацию LDAP/AD?
На большинстве камер Dahua сетевой порт 37777 использует только локальную базу пользователей Linux/Shadow устройства.
Какова максимальная длина имени пользователя в Dahua SDK?
Размер буфера szUserName в структурах NetSDK составляет 64 байта (символа ASCII/UTF-8).
Где посмотреть список активных пользователей устройства?
В Web-интерфейсе: Меню Настройки -> Система -> Безопасность -> Аккаунт (Account).