Полевые разрешения Spring Security 2 и FormBean - PullRequest
1 голос
/ 24 января 2011

Допустим, у меня есть обработчик в контроллере Spring MVC:

@RequestMapping
public String myHandler(Model m, @RequestParam MyEntity entity)

Однако, MyEntity имеет несколько полей, некоторые из которых должны иметь разные разрешения для просмотра или обновления.В настоящее время я заполняю FormBean из объекта сущности, но в этот момент я не знаю, что было установлено запросом, поэтому я не могу проверить поле за полем.Любые идеи о том, как справиться с этим правильно?Я хочу иметь возможность указывать определенную роль для каждого поля, которое требуется для просмотра или обновления.

Ответы [ 2 ]

1 голос
/ 24 января 2011

Если вы используете безопасность контейнера и имеете доступ к HttpServletRequest, вы, возможно, можете использовать метод isUserInRole в HttpServletRequest (http://download.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#isUserInRole%28java.lang.String%29)

например:

boolean canEditEmail = request.isUserInRole("ROLE_EDIT_EMAIL");
0 голосов
/ 05 мая 2011

Лучший способ решить эту проблему - использовать функции InitBinder и setAllowedFields, в следующем сообщении на форуме обсуждается это:

http://forum.springframework.org/showthread.php?t=10820

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