Could anyone advise a feasible solution to prevent direct access to \*.gsp pages on Grails?

After reviewing intercepting '/\*\*.gsp', I found it is impossible to use that as it not only filters out direct access, but also the pages rendering from controllers, etc.

I tried to setup the following in UrlMapping.groovy, even though I can prevent the \*.gsp direct access, but I also make a mess to the navigation of the pages; all the links seem to go to home page then.

```
    "/**.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 {
        "*"
    }
}
}

```

Once I thought about setup filter like org.springframework.web.filter.OncePerRequestFilter, but not quite sure how to define it probably as Grails tends to generate the web.xml filters section by itself.

Any thoughts? 

Thanks a lot!
tom