Передача аутентифицированного имени пользователя Squid 7 в службу ICAP
Включите пересылку имени пользователя и согласуйте заголовок метаданных ICAP и кодировку, которых ожидает служба адаптации.
Служба ICAP может получать аутентифицированную учетную запись, известную Squid, но обе стороны должны согласовать, как эта учетная запись передается. Одно лишь именование заголовка не включает пересылку имени пользователя.
Для существующей установки Squid 7 с поддержкой ICAP и аутентификацией клиентов соответствующие параметры могут быть такими:
adaptation_send_username on
icap_client_username_header X-Authenticated-User
icap_client_username_encode off
Это дополняет существующую службу ICAP, правила адаптации и конфигурацию доступа через прокси. Это не создает аутентификацию или службу адаптации.
Согласуйте с входными данными службы
Заголовок имени пользователя по умолчанию в Squid — X-Client-Username. Если адаптер ожидает X-Authenticated-User, измените настроенное имя Squid, как показано выше, или настройте адаптер на чтение значения по умолчанию. Сопоставление имен заголовков подчиняется правилам HTTP без учета регистра.
Кодировка тоже должна совпадать. Когда icap_client_username_encode включен, Squid кодирует значение в Base64. Служба должна декодировать это представление, а не считать его другим именем пользователя.
Это метаданные об обмене ICAP между Squid и его службой. Это не указание отправлять заголовок идентичности пользователя на каждый целевой веб-сайт.
Если служба по-прежнему сообщает IP-адрес
Убедитесь, что в транзакции действительно есть аутентифицированное имя пользователя в Squid, что пересылка имени пользователя включена и что служба читает настроенный заголовок. Возврат адаптера к адресу клиента не доказывает, что аутентификация Squid не удалась; может отсутствовать сама передача или быть неверным ее имя.
Считайте эту учетную запись доверенной только на контролируемом пути от Squid к адаптеру. Эти директивы зависят от версии: справочник конфигурации перечисляет их для Squid 7 и более ранних веток и отмечает, что в Squid 8 они недоступны.