Solução: Problemas de autenticação Spring Security + Grails 3
28/09/2015 08:48
class CustomAnnotationFilterInvocationDefinition extends AnnotationFilterInvocationDefinition {
@Override
protected boolean isController(String controllerName, String actionName) {
return application.getArtefactByLogicalPropertyName(ControllerArtefactHandler.TYPE, controllerName)
}
}
objectDefinitionSource(CustomAnnotationFilterInvocationDefinition) {Resumindo na implementação original o método isController usa o seguinte código
application = ref("grailsApplication")
grailsUrlConverter = ref("grailsUrlConverter")
httpServletResponseExtension = ref("httpServletResponseExtension")
rejectIfNoRule = application.config.grails.plugin.springsecurity.rejectIfNoRule
}
application.getArtefactForFeature(ControllerArtefactHandler.TYPE, SLASH + controllerName + SLASH + actionName)Que sempre retorna null e olhando na implementação do grails 3 o método getArtefactForFeature não tem mais implementação tem um simples return null
??
http.exceptionHandling().accessDeniedPage("/403")
accessDeniedHandle(...)
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}
"/index"(controller: 'homepage', action: 'index') // em vez de: "/index"(view:'/minha-homepage')
"500"(view:'/error')
"404"(view:'/notFound')
}
}?
class HomepageController {
...
@Secured('isAuthenticated()')
def index() {
respond new Object(params), view:'/minha-homepage'
}
...
}
Para se registrar, clique aqui.