Usando o Grails Versão 2.3.4 tive algumas dificuldades até conseguir
configurar uma página personalizada de acesso negado. Logo descobri que
existia uma configuração para que o mapeamento no UrlMappings surtisse
efeito.
Adicione a seguinte linha no Config.groovy
Java Code
grails.plugin.springsecurity.adh.errorPage = null
E o mapeamento é normal (minhas páginas de erro estão na raiz, junto do index):
Java Code
"/"(view:"/index")
"500"(view:'/500')
"404"(view:'/404')
"403"(view:'/403')
"401"(view:'/403')
Agora deve funcionar.