Служба 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 вони недоступні.

Схожі статті