2010-11-12 1 views
2

Я работаю над 100% -ным приложением ExtJS; браузер загружает все JavaScript и один HTML-файл один раз; после этого все работает в браузере.ExtJS: лучший способ настроить GUI для разрешений при запуске?

Когда все панели отображаются при запуске (то есть, когда срабатывает Ext.onReady()), мне нужно, чтобы некоторые панели были скрыты в зависимости от разрешений пользователя. Есть ли общая/лучшая практика настройки GUI при запуске в зависимости от прав пользователя?

Я думаю, что одним из решений может быть наличие скрытых по умолчанию панелей. Вызов AJAX может быть сделан при запуске, чтобы получить разрешения пользователя, а затем панели могут быть скрыты в зависимости от этих разрешений. Тем не менее, я подозреваю, что есть лучшие решения.

Любые советы были бы весьма признательны.

Примечание: Я понимаю, что передним интерфейсом javascript нельзя доверять в качестве единственного механизма проверки безопасности и что бэкэнд-приложение должно будет проверить все действия, полученные от front-end.

ответ

3

Почему бы просто не написать сценарий на стороне сервера, который выводит привилегированный клиентский код на основе состояния аутентификации пользователя? Вместо того, чтобы ваш клиентский код извлекал данные о разрешении и ветви на них, просто попросите клиентскую часть нажать скрипт, который выводит соответствующий javascript.

Итак, если у вас есть специальный компонент «SuperAdminPanel», единственный способ, которым клиент когда-либо видит код, - это то, что они попадают на ваш скрипт user-js для проверки подлинности и распознаются как супер-админ.

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

Смежные вопросы