Доступ к элементам меню по root паролю
Добавлено: Вс ноя 19, 2023 12:32:32
Приветствую всех уважаемых котов.
Стоит задача следующего плана. Для некоего девайса разрабатывается менюшка управления. Требование заказчика, чтобы доступ к отдельным элементам меню был возможен только из-под root пароля. Т.е. если меню верхнего уровня выглядит примерно вот так:
то обычный пользователь может войти (увидеть?) два первых пункта меню. А вот админ с root паролем может видеть и входить во все пункты. С подменю тоже есть похожие заморочки, но сам принцип остается прежним.
И вот тут у меня затык на уровне самого принципа реализации подобного. Создавать два меню и каким-то образом переключаться между ними после ввода пароля на "нулевом" экране? Библиотека, которой пользуюсь (LCDMenuLib2) вроде как не поддерживает создание двух меню в одной прошивке.
И, в общем дилемма. Извращаться в рамках этой библиотеки, но совершенно не понятно как. Или брать другую библиотеку, но совершенно непонятно какую.
Буду благодарен за дельный совет.
Стоит задача следующего плана. Для некоего девайса разрабатывается менюшка управления. Требование заказчика, чтобы доступ к отдельным элементам меню был возможен только из-под root пароля. Т.е. если меню верхнего уровня выглядит примерно вот так:
Код: Выделить всё
LCDML_add (0 , LCDML_0 , 1 , "Finance" , NULL); // NULL = no menu function
LCDML_add (1 , LCDML_0 , 2 , "Devices" , NULL); // NULL = no menu function
LCDML_add (2 , LCDML_0 , 3 , "Settings", NULL); // NULL = no menu function
LCDML_add (3 , LCDML_0 , 4 , "Prices" , NULL); // NULL = no menu function
LCDML_add (4 , LCDML_0 , 5 , "Operating Mode" , NULL); // NULL = no menu function
LCDML_add (5 , LCDML_0 , 6 , "Encashment", NULL); // NULL = no menu function
LCDML_add (6 , LCDML_0 , 7 , "Control" , NULL); // NULL = no menu function
LCDML_add (7 , LCDML_0 , 8 , "Log" , NULL); // NULL = no menu functionИ вот тут у меня затык на уровне самого принципа реализации подобного. Создавать два меню и каким-то образом переключаться между ними после ввода пароля на "нулевом" экране? Библиотека, которой пользуюсь (LCDMenuLib2) вроде как не поддерживает создание двух меню в одной прошивке.
И, в общем дилемма. Извращаться в рамках этой библиотеки, но совершенно не понятно как. Или брать другую библиотеку, но совершенно непонятно какую.
Буду благодарен за дельный совет.