package org.fluxtream.core.auth;
import org.fluxtream.core.aspects.FlxLogger;
import org.fluxtream.core.services.GuestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.web.authentication.logout.LogoutHandler;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class FlxLogoutHandler implements LogoutHandler {
FlxLogger logger = FlxLogger.getLogger(FlxLogoutHandler.class);
@Autowired
GuestService guestService;
@Override
public void logout(HttpServletRequest request,
HttpServletResponse response, Authentication authentication) {
if (authentication != null)
authentication.setAuthenticated(false);
SecurityContextHolder.getContext().setAuthentication(null);
if (request.getParameter("r") != null) {
try {
response.sendRedirect(request.getParameter("r"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
}