spring security com erro só no Tomcat standalone
20/11/2016 18:31
0
PessoALL,

Estou usando o spring-security-core:3.1.1 com grails 3.2.3 e a aplicação está funcionando normalmente, mudei a configuração para logar direto da página inicial main.gsp e tudo roda maravilhas, porém quando gero o arquivo war, sem o tomcat embbedig e copio o war para o tomcat/webapps, não consigo logar, acontece o erro:




ou seja, tudo funciona ao executar grails run-app ou gerando o jar executável, mas ao gerar o war e tentar no Tomcat separadamente, dá o erro como se o arquivo não fosse injetado.

mudei o grails.plugin.springsecurity.apf.filterProcessesUrl e nada, tentei também:

grails.plugin.springsecurity.controllerAnnotations.staticRules = [
...
    [pattern: '/login',          access: ['permitAll']],
    [pattern: '/login/**',       access: ['permitAll']]
}

aplication.groovy:
grails.plugin.springsecurity.auth.loginFormUrl = '/'
grails.plugin.springsecurity.apf.filterProcessesUrl = '/login/authenticate'

main.gsp:

<form method="POST" style="font-size:0.8em; margin-right:5px;" action="${resource(file:'/login/authenticate')}">
                            <g:link action="cadastro" controller="usuario"> Cadastro </g:link>     |    
                            <!-- plugin spring-security-core -->
                            Usuario:<g:textField name="username" size="5" style="margin-top:11px;" autofocus="true" />
                            Senha:<input name="password" type="password" size="4" />
                            <g:submitButton name="login" value="Login"/>
                            <g:link action="esqueci" controller="config"> Esqueci </g:link>
</form>

O mesmo acontece no Tomcat 8 e 9, ALLguém já passou por isso ?

Obrigado

Everton
Tags: Grails


0
Tentei passar a imagem e n;ao foi, o erro é este:

[list][/list]
20/11/2016 18:32


0
Error: Page Not Found (404)
Path: /bpimn/static/login/authenticate
20/11/2016 18:33


0
Não teve jeito, tive que criar um logoff customizado, o que eu estava evitando, assim dentro de qualquer página do scaffolding posso fazer logoff.
mesmo o logoff customizado inicialmente não estava funcionando, aí troquei <form> por <g:form> e passou a funcionar. :-)
em tempo este foi o melhor código pro logoff customizado:

import org.springframework.security.core.Authentication
import org.springframework.security.core.context.SecurityContextHolder
import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler
import org.springframework.security.core.context.SecurityContextImpl

def logoff() {
        Authentication auth = Security
        Authentication auth = SecurityContextHolder.getContext().getAuthentication()
        SecurityContextLogoutHandler saindo = new SecurityContextLogoutHandler()
        saindo.setClearAuthentication(true)
        saindo.setInvalidateHttpSession(true)
        saindo.logout(request, response, auth)
}

[]'s Everton
26/11/2016 19:42



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