[Spring Security Core] Restringir acesso pela URL
30/07/2012 20:05
Pessoal,
criei um controle de acesso usando o Spring Security Core de acordo com a documentação no site. O problema é que quando eu digito uma action pela url do browser (ou de browsers diferentes) ele entra sem pedir a autenticação primeiro, ou seja, ele deixa alterar/acessar os dados pela url.
Alguém pode me ajudar a como resolver isso. Vi em alguns tutoriais que tem haver com o mapeamento de URL no Config.groovy, mas não consegui já que os exemplos não são tão intuitivos. Quando altero o config.groovy, como abaixo, ele dá o erro "resultou em muitos redirecionamentos". Meu config.groovy está assim:
grails.plugins.springsecurity.interceptUrlMap = [
//'/**': ['IS_AUTHENTICATED_FULLY']
'/**': ['IS_AUTHENTICATED_ANONYMOUSLY']
]
e o filtro que fiz está assim:
class FiltroLogin{
def springSecurityService
def filters = {
all(controller:'*', action:'*') {
before = {
if(!springSecurityService.isLoggedIn()) {
redirect(uri:"/login/auth")
return true
}
/* if(!springSecurityService.isLoggedIn()) {
flash.message = "Para acessar essa pagina voce deve se logar antes!"
//redirect uri: SpringSecurityUtils.securityConfig.successHandler.defaultTargetUrl
redirect(uri:"login/auth")
return false
}*/
}
after = { Map model ->
}
afterView = { Exception e ->
}
}
}
}
Tags:
[spring security-core grails, login, url]