Шаблоны разработки для включения элементов пользовательского интерфейса на основе полномочий пользователя?

У нас есть веб-приложение, и его фронтэнд реализован с GWT/GXT. Пользователи могут принадлежать различным группам, и у этих групп могут затем быть различные полномочия. Полномочия являются довольно мелкомодульными, например, comment_create, comment_edit, comment_delete и comment_read.

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

11
задан Petteri Hietavirta 6 July 2010 в 09:22
поделиться

2 ответа

Я не уверен, как это реализовать в GWT/GXT, но старый способ включения меню в MFC может быть местом для начала.

Для этого было отдельное сообщение ON_UPDATE_COMMAND_UI, в котором вы указывали идентификатор меню и имя метода. Метод вызывался, и вы могли включить или отключить этот пункт меню в зависимости от вашей логики. В вашем случае это будет основано на идентификаторе пользователя. Это происходит на основе идентификатора меню и поэтому может быть настолько тонкой, насколько вам нужно.

1
ответ дан 3 December 2019 в 11:20
поделиться

См. Шаблон декоратора .

1
ответ дан 3 December 2019 в 11:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: