1、自己感觉strut1的Token不是很好用,也许是我没有用明白,所以决定写一个
public class RequestToken {
/*
* 存入token
*/
static public String saveToken(HttpSession session) {
Long requestToken = System.currentTimeMillis();
//System.currentTimeMillis()点击频率高的时候会存在不安全因素,可以采用UUID,或者用随机产生32位
if (session.getAttribute("tokenList") == null) {
ArrayList<String> tokenList = new ArrayList<String>();
tokenList.add(String.valueOf(requestToken));
session.setAttribute("tokenList", tokenList);
} else {
ArrayList<String> tokenList = (ArrayList<String>) session
.getAttribute("tokenList");
tokenList.add(String.valueOf(requestToken));
session.setAttribute("tokenList", tokenList);
}
return String.valueOf(requestToken);
}
/*
* 验证token值
*/
static public boolean isTokenValid(HttpSession session, String requestToken) {
ArrayList<String> tokenList = null;
if (session.getAttribute("tokenList") == null) {
tokenList = new ArrayList<String>();
} else {
tokenList = (ArrayList<String>) session.getAttribute("tokenList");
}
return tokenList.contains(requestToken);
}
/*
* 移除当前token
*/
static public void removeRequestToken(HttpSession session,
String requestToken) {
ArrayList<String> tokenList = null;
if (session.getAttribute("tokenList") == null) {
tokenList = new ArrayList<String>();
} else {
tokenList = (ArrayList<String>) session.getAttribute("tokenList");
}
tokenList.remove(requestToken);
session.setAttribute("tokenList", tokenList);
}
/*
* 重置token
*/
static public void resetToken(HttpSession session) {
ArrayList<String> tokenList = new ArrayList<String>();
session.setAttribute("tokenList", tokenList);
}
}
分享到:
相关推荐
提供源代码和思想,整体架构都在,只需加入你自己的业务逻辑即可。
token刷新token刷新token刷新
struts2_token控制刷新重复提交
通过ajax分配相应的clientID和Secret及用户名和...测试页面click_me_please_iframe.html包含相应的刷新和认证,同时refresh_token以文件的形式进行存储,方便下次程序直接使用,不必要在产生新的token;开发工具是vs2017
springboot整和jwt、shiro、redis实现token自动刷新
那么就有一个问题,就是token的时效性,token过期,后台返回认证授权失败,那么怎么做到无感刷新token,让用户即使token过期了自动刷新token呢?经过查询跟实践,我封装了一个请求类。 思路大致是根据后台返回的...
利用Token机制解决重复重复提交
要解决这个问题,可以采用两种策略:一是自动刷新token,二是token续约。通过在验证用户权限的同时为用户生成新的token并返回给客户端,可以确保客户端及时更新本地存储的token。此外,设置定时任务来刷新token也是...
主要介绍了Android token过期刷新处理的方法示例,本文详细的介绍了2种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
.net core 3.1 jwt刷新token
主要介绍了解决vue打包后刷新页面报错:Unexpected token <相关知识点,需要的朋友们参考下。
NULL 博文链接:https://minejava.iteye.com/blog/960617
vue拦截401刷新token, antd vue拦截401刷新token
源码,下载下来直接可以用(防止用户刷新,重复提交数据) 有十分清晰的操作步骤,和注释,代码也封装的很好,我经常用
struts2中token限制表单多次提交
防止表单重复提交的方法(简单的token方式),内附实现代码及实现思路。
Springboot+Shiro+jwt+Redis+Mybatis 有效期内Token刷新方案
第一次接触token处理,初来乍到,说错的地方还请各位多多指教。 token身份验证机制 客户端登录请求成功后,服务器将用户信息(如用户id)使用特殊算法加密后作为验证的标志发送给用户(即token),当用户下次发起...
C#WEB用户令牌TOKEN验证,防止HTTP、GET、POST等提交包含服务端和客户端源码。Nginx集群,SSL证书的WebApi令牌验证
token-springMVC 防止重复提交