Безопасность виджетов

Когда запускается виджет, все операции, выполняемые им, наследуют права доступа пользователя, запустившего его. Например, если пользователь Джо запускает виджет, принадлежащий администратору по умолчанию, виджет получает ограниченные права доступа Джо. Однако если администратор запускает виджет Джо, этот виджет получает неограниченные права доступа, представляя потенциальный риск безопасности, если Джо не является пользователем с полномочиями высшего уровня.

В отличие от систем автоматизации и контроля старого поколения, SberMobile не располагает настройками уровня интерфейса пользователя, чтобы избежать небезопасного контроля доступа со стороны клиента. Однако возможно сделать поведение интерфейса пользователя виджета зависимым от прав доступа текущего пользователя. Используйте функции языка выражений, чтобы проверить, доступны ли текущему пользователю определенные контексты и их переменные/функции/события и соответственно изменить поведение интерфейса пользователя (например, спрятать/выключить кнопки и т.д.):

  • Используйте функцию available(), чтобы проверить, существует ли определенный контекст сервера и доступен ли текущему пользователю
  • Используйте hasVariable(), hasFunction() и hasEvent(), чтобы определить, существует и доступна ли соответствующая переменная/функция/событие в определенном контексте