ISPmanager 4 предоставляет возможность использовать различные способы авторизации для использования панели управления как в интерактивном режиме (через броузер), так и с использованием локальных, либо удалённых вызовов из внешних программ или скриптов. На данный момент существуют четыре метода авторизации:
![]() |
Авторизация с использованием уникального номера сессии. |
![]() |
Авторизация с использованием authinfo. |
![]() |
Авторизация с использованием доверенных IP-адресов. |
![]() |
Авторизация при локальном вызове функций ISPmanager. |
Также в данном документе рассматривается возможность выполнения функций ISPmanager от имени другого пользователя, а также использование протоколов HTTP и HTTPS при работе с панелью управления.
Данный метод наиболее всего подходит для использования панели управления через броузер. Для того, чтобы вызвать какую-либо функцию ISPmanager, нужно обратиться по следующему URL, используя соответствующие функции языков программирования или команды shell.
https://IP-адрес/manager/ispmgr?auth=номер_сессии&out=xml&func=функция&параметр1=значение&параметр2=значение...
Авторизация происходит путём обращения по следующему URL:
https://IP-адрес/manager/ispmgr?out=xml&func=auth&username=имя_пользователя&password=пароль
После этого ISPmanager вернёт либо сообщение об ошибке, либо XML документ следующего вида:
<?xml version="1.0" encoding="UTF-8"?> <doc> <auth id="номер сессии"/> </doc>
После этого вы должны будете передавать полученный номер сессии с каждым запросом к ISPmanager в параметре auth. Номер сессии хранится в течении 30 минут. По истечении этого срока вы должны будете заново пройти авторизацию.
Данный метод авторизации удобен для удалённого обращения к панели управления. Для вызова какой-либо функции ISPmanager необходимо добавить дополнительный параметр authinfo и указать в нём имя пользователя и пароль, под которыми вы хотите выполнить операцию, например,
https://IP-адрес/manager/ispmgr?authinfo=admin1:mypasswd&out=xml&func=функция&параметр1=значение&параметр2=значение...
Данный метод авторизации является разовым, то есть вы должны посылать параметр authinfo с каждым запросом к панели управления.
Данный метод авторизации особенно удобен для удалённого обращения к панели управления, когда все обращения производятся с определённого IP-адреса. В качестве примера можно привести сервер, на котором располагается биллинговая система, которая периодически опрашивает панель управления для получения информации об использовании трафика, дискового пространства, количества WWW доменов и прочего. Данный метод позволяет отказаться от авторизации как таковой, указав в файле конфигурации панели управления /usr/local/ispmgr/etc/ispmgr.conf следующую строку:
TrustIP IP-адрес пользователь
В качестве параметра "IP-адрес" необходимо указать адрес сервера, с которого будут приходить запросы к панели управления. В качестве параметра "пользователь" - имя пользователя, с правами которого будут осуществляться операции с панелью управления. Данный параметр является опциональным. Если его нет, запросы будут обрабатываться с правами root.
Данный метод авторизации является наиболее предпочтительным при локальном обращения к панели управления из внешних программ или скриптов. В качестве примера можно привести обращение к панели управления из своего скрипта, который выполняется с определённой периодичностью с помощью cron. В данном случае панель управления самостоятельно отслеживает UID процесса, который сделал запрос, и обрабатывает его с правами пользователя, который имеет этот UID. В данном случае никакой дополнительной авторизации не требуется.
Так как HTTP является незащищенным протоколом, передавать пароли или номера сессий с его помощью небезопасно. Поэтому панель управления отслеживает, совпадает ли IP-адрес вызывающей стороны с IP-адресом сервера, на котором она расположена, и, если совпадает, то есть в случае локального вызова функций ISPmanager, разрешает использование протокола HTTP. В противном случае разрешается использование только HTTPS и, при попытке обращения к панели управления по протоколу HTTP, будет возвращена ошибка.
Для того, чтобы обратиться к какой-либо функции ISPmanager с правами другого пользователя, нужно добавить к URL дополнительный параметр su=имя_пользователя. Администратор сервера может вызывать функции с правами любых пользователей, реселлер - только с правами своих пользователей. Для всех остальных эта возможность запрещена.