1 package cn.home1.oss.lib.security.internal.preauth;
2
3 import cn.home1.oss.lib.security.api.GenericUser;
4 import cn.home1.oss.lib.webmvc.api.TypeSafeCookie;
5
6 import lombok.NonNull;
7 import lombok.Setter;
8
9 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.beans.factory.annotation.Qualifier;
11 import org.springframework.security.core.Authentication;
12 import org.springframework.security.web.authentication.logout.LogoutHandler;
13
14 import javax.servlet.http.HttpServletRequest;
15 import javax.servlet.http.HttpServletResponse;
16
17
18
19
20
21
22 public class PreAuthTokenCookieClearingLogoutHandler implements LogoutHandler {
23
24 @Qualifier(GenericUser.GENERIC_USER_COOKIE)
25 @Autowired(required = false)
26 @Setter
27 @NonNull
28 private TypeSafeCookie<GenericUser> cookie;
29
30 @Override
31 public void logout(
32 final HttpServletRequest request,
33 final HttpServletResponse response,
34 final Authentication authentication
35 ) {
36 if (this.cookie != null) {
37 this.cookie.clearCookie(request, response);
38 }
39 }
40 }