Skip to content
Snippets Groups Projects
Commit 79b85ff5 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Added PreLoginFilter for destroying current session before login

parent 91bc3fd4
No related branches found
No related tags found
No related merge requests found
package it.inaf.ia2.vospace.ui;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
/**
* Destroys the current session before a new login.
*/
public class PreLoginFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain fc) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpSession session = request.getSession();
if (session != null && request.getParameter("code") == null) {
session.invalidate();
}
fc.doFilter(req, res);
}
}
...@@ -8,6 +8,7 @@ import org.springframework.boot.SpringApplication; ...@@ -8,6 +8,7 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.core.Ordered;
@SpringBootApplication @SpringBootApplication
public class VOSpaceUiApplication { public class VOSpaceUiApplication {
...@@ -16,6 +17,15 @@ public class VOSpaceUiApplication { ...@@ -16,6 +17,15 @@ public class VOSpaceUiApplication {
SpringApplication.run(VOSpaceUiApplication.class, args); SpringApplication.run(VOSpaceUiApplication.class, args);
} }
@Bean
public FilterRegistrationBean preLoginFilterRegistration() {
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new PreLoginFilter());
bean.addUrlPatterns("/login");
bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
return bean;
}
@Bean @Bean
public FilterRegistrationBean loginFilterRegistration() { public FilterRegistrationBean loginFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean(); FilterRegistrationBean registration = new FilterRegistrationBean();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment