Интерфейс для доступа к функциям авторизации и разграничения прав. Для получения ссылки на интерфейс используется функция QueryPermissions -
Set Perm = Srv.QueryPermissions()
Для авторизации имеются функции -
• | DoSharedLogon - авторизация с использованием встроенных учетных записей администраторов. Задается имя, пароль и комментарий. Комментарий будет отображаться в списке сеансов администрирования. Возвращается результат - перечисление APIPermLogonErr. Если не "0", то ошибка. |
• | DoWindowsLogon - NTLM авторизация. Только для учетных записей Windows. Со стороны стороннего приложения требует работу с Windows Crypto API, в этом документе это рассматриваться не будет. |
Состояние авторизации доступно через следующие функции -
• | LogonType() - тип авторизации. Описано в перечислении APIPermLogonType. |
• | IsAuth() - true, если авторизация произведена. Аналогично LogonType() <> altNone. |
• | PermLevel() - уровень доступа для администратора. Описано в перечислении APIPermLevel. |
• | IsAdmin() - true, если авторизация произведена и имеются полные права администратора. Аналогично PermLevel() = alAdmin. |
• | GetUserName() - Имя логина. |
• | TIUserGUID() - GUID клиента, если авторизация также произведена для клиента Traffic Inspector. |
• | AdminGUID() - GUID администратора. |
• | LogonErr() - результат выполнения авторизации - перечисление APIPermLogonErr. |
• | LogonErrInfo() - сообщение об ошибке авторизации. Может быть получено и отображено, если при выполнении авторизации была выдана ошибка. |
Пример использования
Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
AdmID="TIAdmin" 'Логин администратора Traffic Inspector
AdmPass="123456" 'Пароль администратора TIAdmin
Set Perm = Srv.QueryPermissions()
LogOn = Perm.DoSharedLogon(AdmID, AdmPass, "Script")
If LogOn <> 0 Then
WScript.Echo "Ошибка авторизации " & LogOn
Else
WScript.Echo "Тип авторизации " & Perm.LogonType()
WScript.Echo "Авторизация произведена " & Perm.IsAuth()
WScript.Echo "Уровень доступа " & Perm.PermLevel()
WScript.Echo "Полные права администратора " & Perm.IsAdmin()
WScript.Echo "Логин " & Perm.GetUserName()
WScript.Echo "GUID администратора " & Perm.AdminGUID()
End If
Текущая страница справки: http://help.smart-soft.ru/doc20/index.html?sdk_ipermissions.htm