import javax.servlet.http.HttpServletRequest;
/**
* @author: jiang
* @Date: 2019/2/19 09:37
* @Description:
*/
public class TokenUtil {
/**
* 判断客户端提交上来的令牌和服务器端生成的令牌是否一致
*
* @param request
* @return true 用户重复提交了表单
* false 用户没有重复提交表单
*/
public static boolean isRepeatSubmit(HttpServletRequest request) {
String clientToken = request.getParameter("token");
//1、如果用户提交的表单数据中没有token,则用户是重复提交了表单
if (clientToken == null) {
return true;
}
//取出存储在Session中的token
String serverToken = (String) request.getSession().getAttribute("token");
//2、如果当前用户的Session中不存在Token(令牌),则用户是重复提交了表单
if (serverToken == null) {
return true;
}
//3、存储在Session中的Token(令牌)与表单提交的Token(令牌)不同,则用户是重复提交了表单
if (!clientToken.equals(serverToken)) {
return true;
}
request.getSession().removeAttribute("token");
return false;
}
}