проверка уровня доступа:
Я бы разделил проверки уровня доступа на свой собственный класс, и ваши «контроллеры» сначала должны вызывать диспетчеров доступа, прежде чем вызывать DAO. то есть каждое действие выполняет проверку перед выполнением вызовов DAO для получения / вставки данных.
но лучший способ, если вы используете gwt, это делать вызовы RPC вместо использования действий Struts. вызовы rpc становятся «контроллерами», о которых я упоминал выше, и могут выполнять проверки доступа, используя менеджеров, которых я упомянул выше, то есть устранять действия.
что касается менеджеров доступа, я рекомендую перечислить все гранулярные привилегии доступа и объединить эти привилегии в набор, который может быть связан с каждым пользователем / профилем / чем угодно.
прохождение информации вокруг
gwt - боль в работе с hibernate - вы можете попробовать использовать Gilead , но я не добился большого успеха, это слишком громоздко для меня. Ваша идея конвертации в json - правильный путь в GWT IMHO. gwt 1.5 поддерживает так называемое наложение объектов javascript, которое позволяет вам возвращать json и «накладывать» его на java-объект gwt непосредственно с небольшим количеством кода с вашей стороны. проверьте этот пост для получения дополнительной информации.
другой метод состоит в том, чтобы развернуть свое собственное средство генерации DTO (именно это и должен делать Gilead, но я не думаю, что он выполняет автогенерацию? Не уверен). реализовать его как часть вашей сборки. это немного дополнительной работы, которая не будет стоить того, если это не большой проект.