Контроль доступа с помощью Spring Security в клиенте ExtJS? - PullRequest
3 голосов
/ 04 апреля 2011

Я использую Grails 1.3.7, плагин Spring Security для Grails и ExtJS 3.3.1.У меня будет около 20 ролей в моем приложении, и я буду использовать статические правила URL для защиты своего уровня контроллера.Моя клиентская часть будет вся ExtJS, так как я только начал работать с ExtJS, я хотел бы проконсультироваться с вами и выяснить, как правильно интегрировать управление доступом в клиентскую часть ExtJS.Как организовать код, определяющий, какую часть пользовательского интерфейса отображать для данного пользователя?Более того, некоторые формы могут быть доступны только для чтения для некоторых пользователей.

1 Ответ

1 голос
/ 22 июня 2011

В нашем приложении у нас есть JSON-кодированный пользовательский объект, который содержит Роли / Права для этого пользователя.Они встроены в заголовок страницы при загрузке, так что они доступны глобально.

Затем есть функция hasEntitlement (userObj, Entitlement) , которая проверяет наличие определенного права в userObj.мы встроены.Таким образом, все действия ExtJs на странице проверяют это перед выполнением действия, и все свойства кнопок '' disabled 'устанавливаются для этого вызова функции при инициализации.

Конечно, мы также проверяем всеэтой серверной части перед обработкой запроса от пользовательского интерфейса с использованием безопасности уровня метода Spring , поэтому, если кто-то взломает JS на внешнем интерфейсе, он не скомпрометирует внутренний компонент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...