Стартовая страница › Форумы › Понять, как работает ПО › Управление пользователями
- В этой теме 34 ответа, 4 участника, последнее обновление 4 дня, 9 часов назад сделано
IvanovVladimir.
-
АвторСообщения
-
01.06.2026 в 11:55 #43665
IvanovVladimir
УчастникСоздаю веб-плагин, хочу чтобы из него можно было добавлять\изменять\удалять пользователей и роли, не из администратора, а именно из веб-интерфейса скады это можно было сделать. Есть варианты? Создавать отдельную базу с ролями и пользователями и как то вырезать логин скады кажется весьма проблематичной задачей, надеюсь есть метод сделать это из плагина, при необходимости могу изменить и пересобрать один из dll скады если нужно, просто не могу понять что и как
01.06.2026 в 12:17 #43666
manjey73Участник1. Web может находиться на другом сервере, нежели Сервер Scada.
но Михаил говорил, что из WEB даже можно перегрузить Сервер.2. И вот тут надо как-то получить файлы с Пользователями и Ролями, добавить, изменить и т.д. Отправить его Серверу и перегрузить Сервер…
не знаю, по идее надо делать промежуточную БД для изменения проекта.
Есть еще нюанс, настройки Проекта могут храниться во встроенной БД, в Postgre и теперь уже и в Microsoft SQL.
01.06.2026 в 12:19 #43667
manjey73УчастникФактически Серверу передаются таблицы xml в архиве через Агента.
Но сам проект то недоступен, так как может находиться совершенно на другом ПК, и если не выгрузить данные с Сервера (измененные), то передав проект мы все затрем…
01.06.2026 в 12:24 #43668
JurasskParkУчастникЕсть вариант, запрашивает у Агента информацию о пользователях и ролях и скачивать ее локальнно. Но вот куда ваш плагин будет ее сохранять? если сам Web перезаписывает файлы, которые ему прислали?:)
01.06.2026 в 12:27 #43669
JurasskParkУчастникЕсть еще нюанс, настройки Проекта могут храниться во встроенной БД, в Postgre и теперь уже и в Microsoft SQL.
Не. Настройки при БД продолжают хранится в xml файлах. Там работает паралельно. т.е. хранение в БД — это по сути бекап xml файлов.
01.06.2026 в 12:29 #43670IvanovVladimir
УчастникНу вот да, проблема. А сами файлы с информацией о ролях и пользователях хранятся в
C:\Program Files\SCADA\BaseDAT
role.dat и user.dat
их содержимое из блокнота можно открыть, ты даже увидишь имена столбцов и их значения но в перемешку с байтами, которые не определяются
»
UserID и* Enabled яЮName Ґ<Password IкRoleID ЕDescr нК= ScadaWeb B17E4E8B1A2A41B7AE884BC5265D37C5 ~> ScadaComm F9A226BC671CB198C7D83ADEA0B1F2B8 b“: admin 1BE2E31C3FAC53701DC7BE55D1891B52 »Z: guest D353B3161AC1FFC43C79CE23FAE333EF V9
MQTT 5ED0CDB7F51A4C13DB813EA19E9D1FE8 \Ы
«01.06.2026 в 12:38 #43671
JurasskParkУчастникПо сути вам нужно определиться, как считывать данные, где потом считанные данные сохранить и изменить, а потом заново записать.
01.06.2026 в 12:38 #43672
manjey73Участникбайты это возможно пароли зашифрованные.
Но как вам @JurasskPark имеет смысл получать через Агента.тут весь фокус, что вы можете все взять из системы, но в проект вы это не положите, потому что не будете знать где он находится. А находиться он может где угодно.
Например если вы изменили, передали Серверу и перегрузили его. То потом, кто запустит проект, сперва должен его себе загрузить с Сервера, чтобы получить все изменения.
01.06.2026 в 12:39 #43673
JurasskParkУчастникНу вот да, проблема. А сами файлы с информацией о ролях и пользователях хранятся в C:\Program Files\SCADA\BaseDAT
role.dat и user.datНеверно. данные у вас хранятся в xml, а в dat они превратятся потом при передаче. 🙂
01.06.2026 в 12:42 #43674IvanovVladimir
УчастникНу так смысл как раз в том чтобы менять данные можно было после передачи а не каждый раз лазить в администратор и там это делать, поэтому я смотрю файлы dat
01.06.2026 в 12:43 #43675IvanovVladimir
Участникконкретно эти строки B17E4E8B1A2A41B7AE884BC5265D37C5 я уже знаю как шифруются, нашел алгоритм в исходниках, это хеши паролей, а вот остальные символы ( яЮ и* ~> ) уже явно не часть паролей
01.06.2026 в 12:44 #43676
manjey73УчастникСмотрите как передача происходит через Агента, с галочкой «перегрузить Сервер».
А там передаются именно xml, а не dat.01.06.2026 в 12:45 #43677IvanovVladimir
Участниктут весь фокус, что вы можете все взять из системы, но в проект вы это не положите, потому что не будете знать где он находится. А находиться он может где угодно.
Например если вы изменили, передали Серверу и перегрузили его. То потом, кто запустит проект, сперва должен его себе загрузить с Сервера, чтобы получить все изменения.
Правильно ли я понял что могу выгрузить и загрузить проект при помощи веба и агента без участия администратора и проблема лишь в том что в администраторе останется старая версия проекта относительно измененной из веба?
01.06.2026 в 12:53 #43678
manjey73УчастникДа, правильно.
Наверное примерно то же самое, когда у меня на домашнем ПК и на Рабочем один и тот же проект, но если я что-то изменил из дома, и не выгружу с Сервера на работе, а просто залью на Сервер, то я перезатру старым проектом все изменения.Тут будет то же самое, вы поменяете из веб, а потом на сервер передадут изначальный, то и все поменяется на изначальный.
01.06.2026 в 13:03 #43679IvanovVladimir
УчастникОк, спасибо, попробую
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
