Разграничение прав доступа

Есть ли какое-то готовое решение как запретить конкретному пользователю становиться “Администратором”?

Подумал, что можно в Nginx запилить проверку $remote_user и не принимать ни от кого, кроме условного рута куку role со значением 3, но может есть более элегантный и надежный способ? Да и надо будет придумать как все endpoint-ы этой проверкой обернуть разом.

Увы, в нашем софте нет прав доступа совсем, есть некие режимы работы с веб-интерфейсом.

Есть полноэкранный режим, который скрывает все административные функции и его можно запустить из строки браузера. Но это только способ убрать их подальше.

Подробнее тут в разделе про HMI: Веб-интерфейс контроллеров Wiren Board — Wiren Board

Полноценные права доступа есть в ПО партнеров, например, в IntraSCADA и Rapid SCADA.

А если так сделаю - не сработает, можно будет обойти как-то?

Если оставить открытым (без авторизации) брокер - то совершенно не проблема загрузить инстерфейс хоть локально и указать в качестве mqtt адрес контроллера. То есть - безпасность будет фикцией.
Ограничить доступ авторизацией nginx ко всем страницам кроме SVG - более здраво.

1 лайк

Спасибо, понял вас, забыл, что через брокер можно админские привилегии получить. Подумаю, как накрутить на него тоже авторизацию

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.