Может ли кто-нибудь посоветовать выполнимое решение для предотвращения прямого доступа к * .gsp страницам на Grails?
После проверки перехвата '/**.gsp' я обнаружил, что его невозможно использовать, поскольку он не толькоотфильтровывает прямой доступ, а также рендеринг страниц с контроллеров и т. д.
Я попытался настроить следующее в UrlMapping.groovy, хотя я могу запретить прямой доступ * .gsp, но я также напуталдля навигации по страницам;тогда все ссылки идут на домашнюю страницу.
"/**.gsp" {
isEligible = {
System.err.println("ALL PARAMS: " + params)
request.requestURL.toString().endsWith(".gsp")
}
controller = {
if (request.requestURL.toString().endsWith(".gsp")) {
"public"
} else {
"*"
}
}
action = {
if (request.requestURL.toString().endsWith(".gsp")) {
"home"
} else {
"*"
}
}
}
Однажды я подумал о настройке фильтра, например org.springframework.web.filter.OncePerRequestFilter, но не совсем уверен, как определить его, вероятно, так как Grails имеет тенденциюсоздайте раздел фильтров web.xml самостоятельно.
Есть мысли?
Большое спасибо!Том