Команда Authenticate


Назначение:

Авторизировать пользователя по набранному коду

Описание:

Authenticate(password[|options])
Authenticate(/passwdfile|[|options])
Authenticate(/db-keyfamily|doptions)

Параметры:

Строка options может содержать комбинацию из любых, нижеприведенных символов:
  • a - Установка account code в значение введенного пароля. Этот пароль будет сохранен в поле "accountcode" CDR записи и будет установлено в значении переменной канала ${ACCOUNTCODE}.
  • d - Заставляет рассматривать первый аргумент, как название семейства ключей базы данных
  • r - Удалять ключ базы данных, после успешной авторизации по нему (используется только совместно с опцией 'd')
В CVS версии Asterisk, эта команда имеет еще одну дополнительную опцию:
  • j - перейти на приоритет n+101 при неудачной авторизации, если существует команда с таким приоритетом

Команда требует от пользователя ввода пароля для продолжения выполнения последующих команд.

Если в первый аргумент команды Authenticate начинается с символа '/', То этот аргумент будет рассматриваться как имя файла, содержащего список допустимых паролей (по одному паролю на строку). Имя пользователя или название канала не может быть задано в этом файле.

Если строка с параметрами содержит опцию 'd', тогда первый аргумент команды - это семейство ключей базы данных, с ключами, которые используются для проверки введенного пароля.
пример:
/FEATURE/1234 = любая строка.
Тут: FEATURE - имя семейства ключей и '1234' (ключ) - пароль, на соответствие с которым проверяем ввод пользователя.
Значением ключа может быть любая строка по Вашему желанию.

Обратите внимание: Что такой метод использования базы данных полностью противоречит здравому смыслу, т.к., по идее, должно быть так: /FEATURE/TYPE = password, тогда значение проверяемого пароля извлекается из базы данных, записи которых имеют ключи (а не пароли), а заданные значение можно было бы удалить без удаления в базе семейства ключей или дерева ключей (dbdeltree).

Коды возврата:

Возвращает 0, если пользователь ввел правильный пароль в течении трех попыток, иначе возвращает -1 (то же и для случая разрыва связи).

Ссылки по теме: