Saindo da sua pergunta... não sei se vc tem necessidade de fazer um sistema de login do 'zero', caso não precise eu recomento o uso do:
http://grails.org/plugin/spring-security-core
Oi Gustavo,
muitas vezes é mais interessante desenvolver o próprio sistema de autenticação mesmo. Aproveitando o ponto do Castiel, o Grails Brasil, por exemplo, não usa o spring-security-core, porque nossas necessidades eram bem mais simples (e o sistema não tinha muitas permissões além do "logado", "não logado").
Gustavo, o problema no seu filtro é que você deve incluir a action login na lista de endereços que "retornam true". Caso contrário, não conseguirá fazer o login direito.
Ainda sobre a sua dúvida. É interessante observar o loop Gustavo.
Repare: caso não esteja logado, você faz o redirect para a action login. Como o usuário não está logado, você manda redirecionar de novo pra mesma action e por ai vai até o fim dos tempos.
Vai gerar uma espécie de "stack overflow" que resulta no "too many redirects".
Boa tarde,
Referente a desenvolver ou não o controle de usuário do zero, já utilizei o Spring Security e também o Shiro, mas o que estou querendo é algo muito simples, então não vi a necessidade. Também estou fazendo esta aplicação no Grails 2.0.0 e antes eu utilizava este tipo de controle no Grails 1.3.7.
Referente ao Action login, eu tenho um controller login com uma action default "form", que é chamada no redirect quando eu passo apenas o controller.
O problema que quando eu defino um controller, por exemplo controller: 'post' ou controller: 'user', como parâmetro de filtro, o sistema está se comportando correto, mas quando eu defino todos os controllers, por exemplo controller: '*' o sistema entra em loop. Isto que não entendi.
Eu estou tendo que fazer um filtro para cada controle para resolver e não ficar parado :(
Obrigado Henrique, seu último post me fez entender o erro.
Como eu não estava tratando o controller login, o sistema entrava em Loop toda vez que tentava acessar as actions dele.
Fiz um simples tratamento e já resolveu.
Vlw galera pela ajuda.
Olá estou com o mesmo problema, mas estou usando o spring-security-core.
Tentei criar um filtro, mas não consegui. Usei o interceptUrlMap no config.groovy assim:
interceptUrlMap = [
'/login/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/**': ['IS_AUTHENTICATED_FULLY']
]
E não tive sucesso. Sei que é um loop isso, mas não consigo identificar onde está acontecendo, pois como sou novo no grails tenho certa dificuldade em mapear as actions...
alguém pode ajudar?