Definir URL como a atual
18/07/2012 19:53
0
Pessoal,

Estou configurando o Spring Security Plugin e gostaria de apontar a página atual caso o login seja realizado com sucesso, ou com falha.

grails.plugins.springsecurity.failureHandler.defaultFailureUrl = ''
grails.plugins.springsecurity.successHandler.defaultTargetUrl = ''

Tentei colocar como vázio, mas o Grails reclamou.

Alguem sabe como posso fazer isso?
Tags: Default URL, Spring Security Plugin


0
Você tentou colocar um hash ( # ) em vez de uma string vazia para ver se funciona?
19/07/2012 13:27


0
Cara, se eu não estou enganado, o próprio spring faz isso já. No controller auth, se vc notar ele recebe um parâmetro postURL. Caso um usuário tente acessar uma área onde exista uma restrição de autenticação(por exemplo, restrito a usuários com role ADMIN), ele é redirecionado para a página de Login, a url anterior é passada como parâmetro ao controlador auth, que após a validação renderiza a página que o usuário estava anteriormente.

Se você setar a página default, ele sempre irá redirecionar para ela.

Era sobre isso que você estava falando? Ou eu não interpretei corretamente?

[]'s

Luciano Miranda
19/07/2012 14:49


0
Me desculpa, não é um parâmetro... ele recupera do contexto da seção.
19/07/2012 14:55


0
<form class="dropdown-menu pull-right" action="${resource(file: 'j_spring_security_check')}" method="POST">

<g:textField class='span2' name='j_username' placeholder="E-mail" />
<g:passwordField class='span2' name='j_password' placeholder="Senha" />
<label><g:checkBox class='pull-left' name='_spring_security_remember_me' /> Mantenha-me conectado</label>

<a href="password-resend.php" class="pull-left">Esqueci minha senha</a>
<button type="submit" name="login" class="btn btn-success btn-small pull-right">Entrar</button>
</form>


Esse é meu form, eu gostaria simplismente dar um regresh na página depois do processo de login e se possivel pegar as flash.messsages, ou o bean para verificar os erros.

Não pode ser tão complicado
19/07/2012 23:14


0
Uma solução bem simples seria utilizar o Filter do grails (docs).

Apos determinada ação do controller de login, a que faz o login por exemplo, vc redireciona para uma ação de um controller e adiciona as flash messages desejadas e renderiza determinada view.

ex:

def springSecurityService
def filters = {
myFilter(controller: 'login', action: '*') {
after = {
if (actionName.equals("loginSucesso")) {
def usrLogado = springSecurityService.getCurrentUser()
// chame um controller ou redirecione para outra view
} else if (actionName.equals("loginFail")) {
//...
}
}
}
}


Seria isto?
20/07/2012 02:22


0
Resolvi utulizando:

<g:formRemote
url="[controller:'j_spring_security_check', action:'']"
class="dropdown-menu pull-right" name="loginForm"
update="header">

23/07/2012 16:07



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto