工具类之Token 博客分类: 工具类 javatoken安全工具类验证
程序员文章站
2024-03-24 20:33:40
...
在项目开发中,简易的安全机制可以采用token验证的方式,如下token工具类:
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.commons.lang.RandomStringUtils; import com.sfbm.carmall.constant.Constant; import com.sfbm.core.util.string.StringUtils; public class TokenUtils{ public static final String TOKEN_KEY_NUM = "_TOKEN_NUM"; /** * 生成token值 * @param req * @return */ public static String createToken(String tokenKey, HttpServletRequest req){ HttpSession session = req.getSession(); String token = RandomStringUtils.random(20, Constant.randomChar); session.setAttribute(tokenKey, token); session.setAttribute(tokenKey + TOKEN_KEY_NUM, 0); return token; } /** * 验证token是否正确 * @param req * @return */ public static boolean authTokenIsOk(HttpServletRequest req, String tokenKey, String token){ if(StringUtils.isBlank(token)){ return false; } HttpSession session = req.getSession(); String sessionToken = (String)session.getAttribute(tokenKey); if(StringUtils.equals(sessionToken, token)){ return true; } return false; } /** * 验证token是否正确 * @param req * @return */ public static boolean authTokenNumIsOk(HttpServletRequest req, String tokenKey, String token){ if(StringUtils.isBlank(token)){ return false; } HttpSession session = req.getSession(); //记录下验证的次数 Integer num = (Integer)session.getAttribute(tokenKey + TOKEN_KEY_NUM); if(num < 5){ session.setAttribute(tokenKey + TOKEN_KEY_NUM, num+1); return true; } return false; } }
上一篇: linux下安装memcached出错的解决办法 博客分类: linuxmemcached memcacheinstall错误
下一篇: Java设计模式之策略模式 博客分类: 设计模式more and morecommonjavajust do it java设计模式策略模式
推荐阅读
-
工具类之Token 博客分类: 工具类 javatoken安全工具类验证
-
常用apache 工具类 博客分类: apache
-
实现自己的解压缩包包工具类 博客分类: Unzip Unzip
-
FtpUtil工具类 博客分类: java
-
java日期时间转换工具类 博客分类: java常用类 java日期转换流水号时间格式格式日期
-
Map工具类 博客分类: J2SE
-
利用Java的反射和JPA写的工具类 博客分类: JavaSE JavaJPASQLHibernateSpring
-
wsm-lucene 一个简单的Lucene工具类 博客分类: lucene lucenemaven
-
guava cache简单工具类 博客分类: javacache javacache
-
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java) 博客分类: mybatismysql mybatismysql配置