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!
J
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.
P
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.
J
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.
P
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!
J
JavaThai
Entendi mano.
É que estou procurando entender mais sobre o conceito do Spring Security suas conf. entre outras, mas agradeço de qualquer forma.
A
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
J
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???
A
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"/>
J
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???
A
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??
A
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?