2015-06-03 4 views
0

Мое требование следующее: У нас есть приложение, которое использует роли, позволяет сказать (ADMIN/USER/GUEST) в зависимости от роли, которую они могут получить в разных разделах приложения. Однако в определенном разделе некоторые из них могут видеть некоторые действия/опции/кнопки/вкладки, это означает, что для двух пользователей ADMIN конфигурация экрана и доступная опция могут быть разными.ACL в весенней безопасности или конфигурации разрешений

Я читал о DomainACL в весенней безопасности и spring-security permissions, я считаю, что использование доменаACL не является тем, что мне нужно для покрытия этого требования, поскольку мне не нужно иметь гранулярную защиту объекта.

Мой вопрос: есть ли специальная особенность весенней безопасности, которая может решить это требование, которое я не знаю, принимая во внимание, что мне нужно добавить некоторые java-теги в jsp для удаления кнопок/управления из пользовательского интерфейса. Другой вопрос: разрешений без DomainACL будет достаточно, чтобы решить это требование, или я что-то упустил.

В основном мне нужно сохранить действия, которые могут быть выполнены для некоторых пользователей + роль пользователей, позволяет сказать, что я хочу сохранить в базе данных разрешения как «EXECUTE SEARCH», «VIEW_USER_TAB».

  • ADMIN/питер/"ВЫПОЛНИТЬ ПОИСК", "VIEW_USER_TAB"
  • ADMIN/Sarah/"ВЫПОЛНИТЬ ПОИСК"
  • USER/джон/"VIEW_USER_TAB"

Я использую весной -security3.2 и jsp-страницы в качестве моей технологии просмотра.

+0

Эти символы не отличаются от «ROLE_ADMIN» или «ADMIN». Они - власти, и они в основном одинаковы. Вы можете просто назначить их и поместить тег безопасности вокруг кнопки. –

+0

, но как насчет hasPermission и hasRole, я могу использовать оба безразличных, я бы хотел использовать hasPermission («ACTION») в тегах весны, что тоже будет работать? – Koitoer

+0

'hasPermission' и' hasRole' совпадают, разница в том, что префикс 'hasPermission' с' ROLE_' в зависимости от того, что вы установили в качестве префикса для использования. –

ответ

0

Я сделал РОЛИ и ЭКСПЛУАТАЦИЮ в своем приложении. Посмотрите на этот ответ, он мне помог: Difference between Role and GrantedAuthority in Spring Security

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

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