Какой лучший способ сохранить леса для доступа разработчиков? - PullRequest
1 голос
/ 04 ноября 2011

Я работаю над проектом в Grails 2.0.RC1, и я хотел бы иметь возможность сохранить контроллеры скаффолдинга и представления для моих доменных объектов, чтобы иметь «низкоуровневый», доступ разработчика только к неподвижному с вещами при возможности разработки производственной версии представлений и контроллеров (с похожими именами, особенно для контроллеров). Я бы хотел сохранить их как есть, чтобы я мог их заново сгенерировать при обновлении уровня домена, поэтому простое их перемещение, скорее всего, не сработает.

Я надеюсь, что есть способ сделать магию UrlMapping, которая позволила бы мне получать запросы на "/ mgr / book" для контроллера Book в скаффолдах, а "/ book" - для моего производственного контроллера. Я не могу найти в документации ничего о том, как иметь сопоставления для определенных групп контроллеров (без указания каждого контроллера по имени вместо нотации $ controller).

Моя другая мысль - превратить мой уровень домена в плагин, а затем создать отдельный проект, который будет только для представлений в скаффолде. Это было бы легче удалить перед началом работы, но также кажется более трудоемким и поднимает проблему одновременного запуска двух приложений grails на одном компьютере.

Ответы [ 2 ]

1 голос
/ 04 ноября 2011

Я бы хотел, чтобы вы пошли, как ваша последняя идея. Это также мой общий подход:

  1. Создайте встраиваемый плагин для модели вашего домена и общих служб. Это также включает в себя общие плагины, такие как Spring Security и прочее. Это также сократит время разрешения зависимостей для основного приложения.
  2. Создайте встраиваемый плагин для ваших скаффолдинговых представлений. Измените шаблон контроллеров скаффолдов, чтобы они требовали аутентификацию и группу администрирования.
  3. Ваше основное приложение использует оба плагина.

Это делает ваше главное приложение чистым и простым, и вы по-прежнему можете восстановить все ваши представления и контроллеры в лесах, как вы пожелаете. И, по крайней мере, горячее развертывание Eclipse STS все равно будет работать!

Однако пока нет простого решения для разделения ваших контроллеров леса по URL.

1 голос
/ 04 ноября 2011

Если вы используете Spring Security, вы можете использовать InterceptUrlMap или Экземпляры RequestMap для защиты URL-адресов контроллеров.

Если ваши контроллеры скаффолдовиспользуется только для строительных лесов (и не имеет других действий), тогда вы сможете использовать базовые защищенные аннотации для защиты всего контроллера.

Тогда вы можете использовать строительные леса как обычноЗащищено за входом в систему.

Другие структуры безопасности могут обеспечивать аналогичное управление доступом.

...