ОК, я не видел полного ответа на этот вопрос здесь (или в другом месте одного StackOverflow), который дает полный действительный результат, поэтому вот что я придумала:
Во-первых, создайте новыйконтроллер:
grails create-controller gspForbidden
Откройте это и добавьте это к действию индекса:
index = {
response.status = 404
}
Затем откройте grails-app/conf/UrlMappings.groovy
и добавьте это под закрытием static mappings
:
"/grails-app/**.gsp"(controller:"gspForbidden")
Это перенаправит любую попытку просмотра GSP непосредственно на контроллер gspForbidden
.Этот контроллер, в свою очередь, просто отображает 404 - файл не найден.Самое лучшее в этом то, что он полностью скрыт - ничто не говорит о том, что путь GS был правильным, поэтому меньше шансов раскрыть что-то важное в дизайне приложения.
Я неоднократно пытался выяснить, как использовать UrlMappings
показать 404 без контроллера, но у меня не получилось.Если вы можете придумать способ, пожалуйста, дайте мне знать.Я бы предпочел, чтобы это произошло без каких-либо явных контроллеров.