|
@@ -7,15 +7,19 @@ import com.jiayue.ssi.constant.LoginConstants;
|
|
import com.jiayue.ssi.constant.SecretKeyConstants;
|
|
import com.jiayue.ssi.constant.SecretKeyConstants;
|
|
import com.jiayue.ssi.entity.SysUser;
|
|
import com.jiayue.ssi.entity.SysUser;
|
|
import com.jiayue.ssi.factory.LoginFactory;
|
|
import com.jiayue.ssi.factory.LoginFactory;
|
|
|
|
+import com.jiayue.ssi.service.SysUserService;
|
|
|
|
+import com.jiayue.ssi.util.IPUtils;
|
|
import com.jiayue.ssi.util.ResponseVO;
|
|
import com.jiayue.ssi.util.ResponseVO;
|
|
import com.jiayue.ssi.util.SM2CryptUtils;
|
|
import com.jiayue.ssi.util.SM2CryptUtils;
|
|
import com.jiayue.ssi.util.SecurityContextUtil;
|
|
import com.jiayue.ssi.util.SecurityContextUtil;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.security.core.Authentication;
|
|
import org.springframework.security.core.Authentication;
|
|
import javax.servlet.ServletException;
|
|
import javax.servlet.ServletException;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
|
|
+import java.util.Date;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 自定义退出处理类 返回成功
|
|
* 自定义退出处理类 返回成功
|
|
@@ -24,6 +28,9 @@ import java.io.IOException;
|
|
*/
|
|
*/
|
|
@Configuration
|
|
@Configuration
|
|
public class CustomLogoutSuccessHandler implements org.springframework.security.web.authentication.logout.LogoutSuccessHandler {
|
|
public class CustomLogoutSuccessHandler implements org.springframework.security.web.authentication.logout.LogoutSuccessHandler {
|
|
|
|
+ @Autowired
|
|
|
|
+ SysUserService sysUserService;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 退出处理
|
|
* 退出处理
|
|
*
|
|
*
|
|
@@ -33,6 +40,10 @@ public class CustomLogoutSuccessHandler implements org.springframework.security.
|
|
public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
|
|
public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
|
|
throws IOException, ServletException {
|
|
throws IOException, ServletException {
|
|
SysUser sysUser = (SysUser)authentication.getPrincipal();
|
|
SysUser sysUser = (SysUser)authentication.getPrincipal();
|
|
|
|
+ // 设置用户离线状态
|
|
|
|
+ sysUser.setOnlineStatus("1");
|
|
|
|
+ sysUserService.updateUser(sysUser);
|
|
|
|
+
|
|
// 记录用户退出日志
|
|
// 记录用户退出日志
|
|
LoginFactory.recordLogininfor(sysUser.getUsername(), Constants.LOGIN_SUCCESS, "退出成功");
|
|
LoginFactory.recordLogininfor(sysUser.getUsername(), Constants.LOGIN_SUCCESS, "退出成功");
|
|
// 将token存储内存中,便于重复登录比对
|
|
// 将token存储内存中,便于重复登录比对
|