Просмотр полной версии : Разграничение доступа
Добрый день!
В проекте есть несколько групп пользователей. К СПК можно подключиться по RS485 или TCP IP (регистры там, все дела). Как можно добраться до пользователей/паролей проекта, чтобы сделать разграничение доступа для RS485 или TCP IP? Может, библиотека какая есть или спец. адреса где это все хранится?
Евгений Кислов
16.03.2020, 14:32
Добрый день.
чтобы сделать разграничение доступа для RS485 или TCP IP
Опишите, пожалуйста, подробно, что именно вы подразумеваете под "разграничением доступа".
Ну в проекте, например, нельзя изменять значения в каких либо окнах в зависимости от полномочий. Оператор может менять задание, технолог какие то настройки итд. Тоже самое хочу сделать для RS и Ethernet. Есть регистр доступа и в зависимости от того, что туда пишет клиент ему доступны какие то регистры для записи, команды итд. Мне нужно как то добраться до паролей чтобы сравнивать их с этим самым "регистром доступа".
Евгений Кислов
16.03.2020, 14:59
Ну в проекте, например, нельзя изменять значения в каких либо окнах в зависимости от полномочий. Оператор может менять задание, технолог какие то настройки итд. Тоже самое хочу сделать для RS и Ethernet. Есть регистр доступа и в зависимости от того, что туда пишет клиент ему доступны какие то регистры для записи, команды итд. Мне нужно как то добраться до паролей чтобы сравнивать их с этим самым "регистром доступа".
Так не получится - пароли из "Управления пользователями визуализации" в явном виде недоступны.
Вы можете придумать отдельные пароли для RS/TCP и обрабатывать их в коде. Потребуется использовать библиотеку OwenCommunication - она позволяет ограничить доступ к регистрам слэйва.
Следует отметить, что по TCP несколько клиентов могут работать с ПЛК одновременно - если такая ситуация возможна, то лучше, вероятно, просто поднять несколько слэйвов с разным набором регистров на разных портах - таким образом, конкретный клиент будет работать по "своему" (известному ему) порту с конкретным слэйвом.
Да я сам обмен реализую. Жаль, что доступа нет. Хорошо, в явном виде не доступны. А есть возможность куда-нибудь скармливать данные и получать обратно ID группы или еще что то полезное?
Евгений Кислов
16.03.2020, 16:47
куда-нибудь скармливать данные
Можно получить информацию о залогинившемся пользователе:
https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/02_Visu/03_Additional/Example_ClientManager_3511v1.projectarchive
Разобрался )
Нужно объявить экземпляр ФБ VisuUserManagement.VisuUserMgmt и юзать его метод CheckLogin который возвращает ERR_OK в случае правильного пароля либо ERR_VUM_WRONG_PASSWORD.
Единственное... Как можно ограничить клиента при смене паролей пользоваться только вводом цифр? Это не критично но было бы полезно.
Евгений Кислов
17.03.2020, 09:13
Разобрался )
Нужно объявить экземпляр ФБ VisuUserManagement.VisuUserMgmt и юзать его метод CheckLogin который возвращает ERR_OK в случае правильного пароля либо ERR_VUM_WRONG_PASSWORD.
Единственное... Как можно ограничить клиента при смене паролей пользоваться только вводом цифр? Это не критично но было бы полезно.
Диалоги управления пользователями доступны для редактирования - можно заменить в них клавиатуру на Numpad.
/Codesys/Projects/Visu/Dialogs/VisuUserMgmtDialogs.library
Информация по установке отредактированной библиотеки здесь:
https://owen.ru/forum/showthread.php?t=28167&page=5&p=300498&viewfull=1#post300498
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot