Я использую Oracle ADF с выпуском 1 JDeveloper 11g, я сумасшедший, чтобы настроить роли приложений для различных групп. Позвольте мне объяснить, у меня следующая ситуация, и я ищу некоторые идеи: я хочу включить фиксацию (RichCommandButton) Enterprise только для определенной роли, что мне делать? Я решил сделать оператор if в методе get BackingBean на странице, верно? Как правильно поступить?
Безопасность ADF отключает RichCommandButton для роли приложения
Ответы (3)
Проверка роли, чтобы определить, разрешено ли определенное действие, — это нормально, но может привести к тому, что ваше приложение будет иметь жестко запрограммированные зависимости от определенных ролей. Что, если вы решите добавить роли в будущем?
Вместо этого лучше проверить разрешения и предоставить разрешения ролям. Таким образом, ваши политики не привязаны к конкретным ролям. Однако этот подход намного сложнее, поскольку вам нужен способ предоставления разрешений ролям.
{securityContext.userInRole ['список ролей']}
#{securityContext.userInAllRoles ['список ролей']}
из документов: http://docs.oracle.com/cd/E16162_01/web.1112/e16182/adding_security.htm и http://adfcodebits.blogspot.com/2010/04/bit-12-accessing-authenticated-users.html
На самом деле проверка ролей приложений — это нормально, поскольку это абстракция внутри приложения. Однако я согласен с тем, что разрешение (вы можете создать собственное ResourcePermission) является лучшим подходом, поскольку оно позволяет вам позже предоставить операцию фиксации другим ролям (имейте в виду, что Enterprise Manager — это инструмент администрирования для ADF, который также позволяет изменить гранты безопасности).
Очевидно, вы новичок в ADF и безопасности ADF, поэтому, пожалуйста, посмотрите следующую видеозапись, в которой я объясняю безопасность ADF от начала до конца.
http://download.oracle.com/otn_hosted_doc/jdeveloper/11gdemos/AdfSecurity/AdfSecurity.html
Еще один полезный ресурс
http://www.oracle.com/technetwork/issue-archive/2012/12-jan/o12adf-1364748.html
который обобщает безопасность ADF (включая ранее упомянутое ResourcePermission) и позволяет вам загрузить пример приложения для просмотра и копирования)
откровенный