/Methods/GetLoginData

<< Click to Display Table of Contents >>

Navigation:  API MasterSCADA 4D > Подключение к исполнительной системе по JSON > JSON для HTTP-запросов > Описание JSON-запросов > Общие методы >

/Methods/GetLoginData

GetLoginData - запрос на получение информации о пользователе текущей сессии.

Данные запроса

{"sessionId":<опциональный ID сессии>

}

Данные ответа

{"code":0,

"projectId":"", - текстовая строка, идентифицирующая текущую версию проекта. Меняется после каждой загрузки проекта на сервер

"currentOperator":"", - если в sessionId содержится ID активной сессии, то возвращается имя текущего оператора (в этом случае окно логина можно не отображать, а сразу переходить к стартовому окну данного оператора)

"currentOperatorGroups": [ ], - массив групп текущего оператора (только для операторов, заданных в RT)

"startMnemoscheme":" ", - строковый ID стартового окна по умолчанию (используется, если нет операторов или у оператора не переопределено)

"operators":[

{"login":"sa", - логин

"groups": ["admins", "operators"] - массив групп данного оператора

"startMnemoscheme":" " - строковый ID стартового окна для данного оператора

}],

"groups":[ - список всех групп в проекте:

{"name":"operators", - имя группы.

"sessionTime":600000, - длительность сессии в мс.

"passwordMinSize":3, - минимальная длина пароля

"passwordNonRepeatingCount":2, - количество неповторяемых паролей

"passwordExpirationTime":60000, - срок действия пароля в мс.

"passwordIsComplex":true - использовать сложный пароль

}],

"defaultUser":"Пользователь 2", - пользователь, по умолчанию назначенный в проекте. При старте осуществляется автоматический логин под ним

"needLogin":True, - если True, то необходимо отобразить окно логина. Если False, то возможен логин с пустым login

"disableSelectUser":True, - если True, то ввод логина должен быть через текстовое поле без комбобокса (при этом будет передан пустой массив operators)

"disableHashPassword":True - если True, то на стороне клиента не надо хешировать пароль при вызове Login (как из окна логина, так и по действию Сменить пользователя)

}

Пример ответа

{"code":0,"currentOperator":"sa", "currentOperatorGroups":["group1", "group2"],

"operators":[{"login":"sa","startMnemoscheme":"18095"}],

"startMnemoscheme":"18095"}

Алгоритм работы логина

Если задан currentOperator, то логин можно не выполнять, сразу переходить к стартовому окну данного оператора;

Если needLogin=false, то окно выбора оператора отображать не нужно, необходимо выполнить запрос Login с пустым полем login;

Если в массиве operators один оператор, то в окне логина запрашивается только пароль, после чего выполняется логин и переход к стартовому окну оператора;

Если в массиве operators несколько операторов, то в окне логина выбирается из комбобокса оператор и задается пароль, после чего выполняется логин и переход к стартовому окну выбранного оператора.

Возможные ошибки

OpcUa_BadServiceUnsupported - визуализация недоступна в данном проекте (либо при старте конфигурации были ошибки). Текст ошибки будет передан через параметр errorText.