Sr’s estou com muita dificuldade para conseguir fazer um simples logout utilizando o Spring Security!
Gostaria,se possível que alguém me passa-se o conceito dele pois estou meio perdido não estou entendendo ele com clareza já procurei em vários lugares e não achei algo que me esclareça.
Acho sempre este trecho"<a href="<c:url value="/j_spring_security_logout"/>">Logout" mais ai fico perdido pois já testei ele de varias formas.
Pergunta: eu só preciso adicionar este trecho de código ou tenho que fazer outras configurações, ou substituir este trecho por uma pagina de logout???
Não há necessidade nenhuma de configurar o spring-context!
Para fazer o logout de forma correta você deve ter um usuário logado ao sistema!
JavaThai
Bom Dia!
ppro11, Mano desta forma eu sei como fazer, mais eu gostaria de saber como funciona essa parte de logout do Spring Security.
Por Ex: Se eu colocar somente essa tag no arquivo de conf. e dizer qual pagina eu desejo que ele vá apos eu cliclar no link bastaria ou eu devo fazer alguma conf. a mais.
ppro11
Eu não vejo a necessidade de você colocar nada no arquivo de configuração se você chamar método que faz o logout, já é o bastante para encerrar a sessão e não deixar o usuário ficar logado! - se você estiver usando o Interceptor se um usuário não estiver logado ele não pode acessar as páginas da sua aplicação.
JavaThai
Blz ppro11,eu tambem acho isso. Mas no arquivo de conf. do Spring Sec. se eu consigir automatizar todo o processo pq não usar?
Mas acontece que eu não sei utiliza-ló, e estou querendo apreeender.
ppro11
Ta certo é sempre bom aprender! - É que recentemente eu fiz uma aplicação em SpringMVC e não utilizei o spring-context, isolei o método logout na Classe LoginController e onde eu precisei eu usei a url para fazer o logout!
JavaThai
Entendi mano.
É que estou procurando entender mais sobre o conceito do Spring Security suas conf. entre outras, mas agradeço de qualquer forma.
AmauriSpPoa
Nesse trecho
Você esta mapeando um endereço para a ação de logout, é a mesma coisa que
Mas automaticamente o Spring security vai invalidar sua sessão e te redirecionar para sua pagina de Login novamente, é como se o processo que o ppro11 mostrou já tivesse sido implementado pelo Spring security
JavaThai
AmauriSpPoa mano valeu,pela explicação!
Cara mais uma duvida, ao inves de eu colocar
como é o tradicional se não usar a conf do Spring Sec. eu devo colocar
<a href="/j_spring_security_logout"> Sair do Sistema <a> ???
Que no caso seria o idendificador do mapeamento do logout ou eu estou errado???
AmauriSpPoa
Caso você queira pode alterar o url do link parahref="\logout" basta alterar na configuração do Spring também<logout logout-success-url="/login.jsp" logout-url="/logout"/>
JavaThai
AmauriSpPoa cara desculpa pela demora pra responder.
Cara eu testei minha aplicação com a conf. q vc passou e não esta funcionando.
Mano eu precisso criar um controller para redirecionar a app???
AmauriSpPoa
Bom não vai funcionar mesmo a barra que eu coloquei ta errada :oops: href="/logout"
agora se mesmo assim não funcionar segue como eu fiz(no seu caso não tem o prefixo “security:”)
<security:http auto-config="true" access-denied-page="/403.do">
<security:form-login login-page="/login.do" login-processing-url="/loginProcess"
default-target-url="/home.do" authentication-failure-url="/login.do?login_error=1" />
<!-- Aqui é definodo o url para fazer o logout -->
<security:logout logout-url="/logout" logout-success-url="/login.do" />
<security:intercept-url pattern="/home/login/setLocale.do" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern="/home.do" access="IS_AUTHENTICATED_FULLY" />
<security:intercept-url pattern="/home/**" access="IS_AUTHENTICATED_FULLY" />
</security:http> Sair(coloquei fora da tag “code” pois o href não fica visivel)
Mano o logout esta funcionado em parte,pq se eu tentar acessar qualquer pagina ele permite.
Está é a config.
que faz esta função certo??
AmauriSpPoa
Nessa linha você está especificando que para determinadas pastas ele pode estar como anonimo access="IS_AUTHENTICATED_ANONYMOUSLY"Só não entendi essa linha
<form-login authentication-failure-url="/login.jsp" default-target-url="index.jsp" login-page="/login.jsp" login-processing-url="/login.do"/> porque tem login.do e login.jsp?