Каков наилучший способ сохранить строительные леса для доступа разработчика?

#grails #scaffolding #urlmappings.groovy

#grails #строительные леса #urlmappings.groovy

Вопрос:

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

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

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

Ответ №1:

Я бы посоветовал вам использовать вашу последнюю идею. Это также мой общий подход:

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

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

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

Ответ №2:

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

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

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

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