全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java TokenProcessor令牌校验工具类

关于TokenProcessor令牌校验工具类废话不多说了,直接给大家贴代码了,一切内容就在下面一段代码中,具体代码详情如下所示:

public class TokenProcessor {
 private long privious;// 上次生成表单标识号得时间值
 private static TokenProcessor instance = new TokenProcessor();
 public static String FORM_TOKEN_KEY = "FORM_TOKEN_KEY";
 private TokenProcessor() {
 }
 public static TokenProcessor getInstance() {
  return instance;
 }
 /**
  * 验证请求中得标识号是否有效,如果请求中的表单标识与当前用户session中的相同,返回结果true=
  */
 public synchronized boolean isTokenValid(HttpServletRequest request) {
  // 为避免session对象不存在时候创建Session对象
  HttpSession session = request.getSession(false);
  if (session == null) {
   return false;
  }
  String saved = (String) session.getAttribute(FORM_TOKEN_KEY);
  if (saved == null) {
   return false;
  }
  String token = (String) request.getParameter(FORM_TOKEN_KEY);
  if (token == null) {
   return false;
  }
  return saved.equals(token);
 }
 /**
  * 验证请求中得标识号是否有效,如果请求中的表单标识与当前用户session中的相同,返回结果true=
  */
 public synchronized boolean isTokenValid(HttpServletRequest request,String token) {
  // 未避免session对象不存在时候创建Session对象
  HttpSession session = request.getSession(false);
  if (session == null) {
   return false;
  }
  String saved = (String) session.getAttribute(FORM_TOKEN_KEY);
  if (saved == null) {
   return false;
  }
  if (token == null) {
   return false;
  }
  return saved.equals(token);
 }
 /**
  * 清除存储在当前用户session中的表单标识号
  */
 public synchronized void reset(HttpServletRequest request) {
  HttpSession session = request.getSession(false);
  if (session == null) {
   return;
  }
  session.removeAttribute(FORM_TOKEN_KEY);
 }
 /**
  * 产生表单标识号并将之保存在当前用户得session中
  */
 public synchronized void saveToken(HttpServletRequest request) {
  HttpSession session = request.getSession();
  try {
   byte id[] = session.getId().getBytes();
   long current = System.currentTimeMillis();
   if (current == privious) {
    current++;
   }
   privious = current;
   byte now[] = String.valueOf(current).getBytes();
   MessageDigest md = MessageDigest.getInstance("MD5");
   md.update(id);
   md.update(now);
   String token = toHex(md.digest());
   session.setAttribute(FORM_TOKEN_KEY, token);
  } catch (NoSuchAlgorithmException e) {
  }
 }
 /**
  * 将一个字节数转换成十六进制得字符串
  */
 public String toHex(byte buffer[]) {
  StringBuffer sb = new StringBuffer(buffer.length * 2);
  for (int i = 0; i < buffer.length; i++) {
   sb.append(Character.forDigit((buffer[i] & 0x60) >> 4, 16));
   sb.append(Character.forDigit(buffer[i] & 0x0f, 16));
  }
  return sb.toString();
 }
}

以上所述是小编给大家介绍的Java TokenProcessor令牌校验工具类,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# tokenprocessor  # 校验工具类  # java单点登录(SSO)的实现  # java冷知识:javac AbstractProcessor详解  # 详解Java8与Runtime.getRuntime().availableProcessors()  # Java redisson实现分布式锁原理详解  # Java使用Redisson分布式锁实现原理  # Java编程redisson实现分布式锁代码示例  # 入门到精通Java SSO单点登录原理详解  # 表单  # 令牌  # 给大家  # 不存在  # 小编  # 中得  # 就在  # 在此  # 说了  # 不多  # 所示  # 转换成  # 所述  # 给我留言  # 将之  # 感谢大家  # 为避免  # 疑问请  # 有任何  # request 


相关文章: 建站之星logo尺寸如何设置最合适?  如何通过西部数码建站助手快速创建专业网站?  如何选择网络建站服务器?高效建站必看指南  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  家具网站制作软件,家具厂怎么跑业务?  如何用虚拟主机快速搭建网站?详细步骤解析  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  如何构建满足综合性能需求的优质建站方案?  如何选购建站域名与空间?自助平台全解析  如何选择高效稳定的ISP建站解决方案?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  如何撰写建站申请书?关键要点有哪些?  如何高效生成建站之星成品网站源码?  ,怎么在广州志愿者网站注册?  建站之星2.7模板:企业网站建设与h5定制设计专题  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  建站之星微信建站一键生成小程序+多端营销系统  制作销售网站教学视频,销售网站有哪些?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  如何快速查询网站的真实建站时间?  济南企业网站制作公司,济南社保单位网上缴费步骤?  公司网站设计制作厂家,怎么创建自己的一个网站?  C++时间戳转换成日期时间的步骤和示例代码  如何通过主机屋免费建站教程十分钟搭建网站?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  建站之星与建站宝盒如何选择最佳方案?  官网网站制作腾讯审核要多久,联想路由器newifi官网  公司门户网站制作流程,华为官网怎么做?  如何获取上海专业网站定制建站电话?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  C#怎么创建控制台应用 C# Console App项目创建方法  如何正确下载安装西数主机建站助手?  如何通过NAT技术实现内网高效建站?  个人摄影网站制作流程,摄影爱好者都去什么网站?  如何在Windows 2008云服务器安全搭建网站?  Swift中switch语句区间和元组模式匹配  建站之星备案流程有哪些注意事项?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  如何配置IIS站点权限与局域网访问?  文字头像制作网站推荐软件,醒图能自动配文字吗?  整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?  如何在建站主机中优化服务器配置?  网站制作的步骤包括,正确网址格式怎么写?  如何在橙子建站上传落地页?操作指南详解  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。