Стартовая страница › Форумы › Разработка и интеграция › Получить имя пользователя
- В этой теме 6 ответов, 3 участника, последнее обновление 4 года, 10 месяцев назад сделано
Mikhail.
-
АвторЗаписи
-
20.10.2021 в 10:02 #21100
Romiros
УчастникДобрый день. В разрабатываемом драйвере для прибора необходимо получить имя пользователя отправившего команду из web. Есть ли возможность это сделать? У объекта Cmd не UserName не UserId нет.
Это необходимо для формирования более информативного события в системе. Стандартная запись события при отправке команды к сожалению совсем неинформативная.20.10.2021 в 10:41 #21101
a80808УчастникБоюсь кроме Михаила никто не подскажет, где в SCADA лежит что то похожее (на схемах же выводится имя пользователя). Если конечно про пользователя SCADA.
А так вроде GetUserID() в Microsoft.AspNet.Identity20.10.2021 в 11:19 #21102Romiros
УчастникЕсли конечно про пользователя SCADA.
Пользователь SCADA.на схемах же выводится имя пользователя
В вебе есть для этого механизмы.Драйвер же получает команду от сервера и получается не знает кто её отправил. Понятно что проверка на права делается в web перед отправкой, но мне нужно сформировать собственное событие и включить имя пользователя в это сообщение. Некоторые критические команды записываемые в прибор нужно логировать скажем так пофамильно.
Просто вместо такой строки:
Команда ТУ: канал упр.=401, польз.=11, тип=Standard, КП=101, номер=10, значение=1,000
хотелось бы:
Команда ТУ: Admin — коррекция времени прибора20.10.2021 в 15:28 #21112
MikhailМодераторДобрый день!
Если говорить про драйвер, то такая возможность появляется в версии 6 🙂 Ссылка на исходный код
А в текущей версии ID пользователя, отправившего команду, доступно в модулях. И в Коммуникатор не передаётся. Ссылка
То есть сейчас потребуется также разработать небольшой модуль, который будет мониторить команды и отправлять сообщения.20.10.2021 в 15:30 #21113
MikhailМодераторАвтоматически формируемые события при отправке команды — по сути служебные.
В модуле Вам также потребуется загрузить таблицу пользователей в своём коде для того, чтобы извлекать имя.20.10.2021 в 15:58 #21117Romiros
УчастникСпасибо за развернутый ответ.
Если говорить про драйвер, то такая возможность появляется в версии 6 ?
Это здорово! А то хотел просить добавить ?.То есть сейчас потребуется также разработать небольшой модуль, который будет мониторить команды и отправлять сообщения.
Думал об этом, но слишком громоздко. В 5 версии сообщение будет без юзера, а в версии 6 как положено. Должен же быть какой-то апгрейд ?.В модуле Вам также потребуется загрузить таблицу пользователей в своём коде для того, чтобы извлекать имя.
По идее можно через это: dataAccess.GetUserName(userID)21.10.2021 в 14:20 #21124
MikhailМодераторПо идее можно через это: dataAccess.GetUserName(userID)
Это в веб-приложении (веб-плагине).
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.