Вы можете защитить строку, используя одинарные кавычки.
set
$ set systype='type=abc project=def sysname=["Linux"]'
echo
$ echo "$systype"
type=abc project=def sysname=["Linux"]
Я считаю, что ошибки нет, просто ваша страница ошибки для этой конкретной проблемы установлена по умолчанию. Я бы предложил найти способ установить страницу ошибки пароля на ту, которую вы укажете.
Если хотите посмотреть, лучше включите LDALibraryDebug
Дополнительная информация:Модификации Apache :mod _authnz _ldap
Видео с конфигурацией:Видео YouTube на LDAP
Вот еще один пост по той же проблеме. Предложенное там решение (, которое помогло мне, когда я столкнулся с этой проблемой ), состоит в том, чтобы добавить эту опцию в вашу конфигурацию LDAP:
AuthLDAPBindAuthoritative off
Из документации Apache:
By default, subsequent authentication providers are only queried if a user cannot be mapped to a DN, but not if the user can be mapped to a DN and their password cannot be verified with an LDAP bind. If AuthLDAPBindAuthoritative is set to off, other configured authentication modules will have a chance to validate the user if the LDAP bind (with the current user's credentials) fails for any reason.
Таким образом, установка этой опции на off
заставляет Apache преобразовать ошибку в попытку запроса несуществующего -следующего поставщика аутентификации. В случае сбоя вместо страницы 500 отображается ожидаемая страница с ошибкой 401.