Как Spring-MVC, как мы можем фильтровать параметры формы HTTP POST на основе роли пользователя? - PullRequest
1 голос
/ 31 августа 2011

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

Конечно, это легко скрытьHTML-разметка для полей, которые я не хочу, чтобы они редактировали, если они не директор, но это недостаточно безопасно.Как мне сказать Spring MVC, чтобы ФИЛЬТРОВАТЬ параметры HTTP post и не устанавливать их в объекте поддержки формы, когда роль пользователя отличается от Director?Я могу это сделать?Я знаю, что могу использовать @InitBinder как случай «поймать все», но я не думаю, что смогу использовать это для каждого запроса ... могу я?

Я знаю, что Rails только что добавил этоособенность в их последних версиях их фреймворка, поэтому я не удивлюсь, если бы Spring не имел его.Легко ли этого добиться с помощью Spring?

Если для этого нет встроенной поддержки фреймворка, какой самый простой способ это сделать?Создать совершенно новый тип для объекта поддержки формы и просто выполнить ручное копирование всех полей во время обновления?Это кажется немного раздутым и не очень легко обслуживаемым, когда я хочу добавить новые поля ... Но я не могу придумать никакого другого решения.

Спасибо

1 Ответ

1 голос
/ 01 сентября 2011

Подача / связывание частичных объектов с пружиной mvc

Кажется, что иметь классы для представления различных форм с различными подмножествами свойств класса User, вероятно, самый простой способ. По крайней мере, вам не нужно вручную копировать свойства по одному за раз, так как вы можете использовать:

BeanUtils.copyProperties (Источник объекта, Назначение объекта)

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