Аутентификатор “spa” предпоставляет поддержку клиента для механизма Microsoft's Secure Password Authentication, также известного как NTLM (NT LanMan). Код для клиентской стороны этого аутентификатора был внесён Marc Prud'hommeaux, и большая его часть взята из проекта Samba (http://www.samba.org). Впоследствии, Tom Kistner внёс код для сервера. Механизм работает следующим образом:
После того, как была принята команда AUTH, клиент посылает аутентификационный запрос SPA, основанный на имени пользователя и, опционально, домене.
Сервер делает обратный вызов.
Клиент строит ответный вызов использующий пользовательский пароль, и шлёт его на сервер, который принимает или отклоняет его.
Для защиты пароля при передаче используется шифрование.
37.1 Использование spa как сервера
Аутентификатор “spa” обладает лишь одной серверной опцией:
Имя
Использование
Тип
Дефолтовое значение
server_password
spa
string†
незадана
Эта опция раскрывается, и, результатом должен быть пароль в открытом виде для аутентификации пользователя, чьё имя, в данной точке, находиться в “
$auth1
”. Для совместимости с предыдущими релизами exim`a, имя пользователя, также, помещается в “
$1
”. Однако, в настоящее время, использование этой переменной для этой цели - не приветствуется, поскольку может привести к недоразумениям в раскрытиях строк, также использующих числовые переменные для иных целей. Например:
Если раскрытие - принудительно неудачно, аутнетификация неуспешна. Любые другие ошибки раскрытия вызывают возврат кода временной ошибки.
37.2 Использование “spa” как клиента
Аутентификатор “spa” обладает следующими клиентскими опциями:
Имя
Использование
Тип
Дефолтовое значение
client_domain
spa
string†
незадана
Эта опция определяет опциональный домен для аутентификации.
Имя
Использование
Тип
Дефолтовое значение
client_password
spa
string†
незадана
Эта опция определяет пользовательский пароль, и должны быть задана.
Имя
Использование
Тип
Дефолтовое значение
client_username
spa
string†
незадана
Эта опция определяет имя пользователя, и должна быть задана. Вот - пример конфигурации этого аутентификатора для использования с почтовыми серверами “msn.com”: