当前位置: 首页 > news >正文

公安局 网站备案查询营销培训课程

公安局 网站备案查询,营销培训课程,做网站和app怎么跑业务,国内互联网推广SpringBoot HttpSession 自定义生成sessionId 业务场景实现方案 业务场景 最近在做用户登录过程中,由于默认ID是通过UUID创建的,缺乏足够的安全性,决定要自定义生成 sessionId。 实现方案 正常的获取session方法如下: HttpSe…

SpringBoot + HttpSession 自定义生成sessionId

    • 业务场景
    • 实现方案

业务场景

最近在做用户登录过程中,由于默认ID是通过UUID创建的,缺乏足够的安全性,决定要自定义生成 sessionId

实现方案

正常的获取session方法如下:

HttpSession session = request.getSession(true);

通过 DEBUG 找到创建 sessionId 的执行方法如下(所在的类名 ManagerBase):
在这里插入图片描述

generateSessionId 方法的具体实现,底层的生成 sessionId 逻辑暂时先不看。

在这里插入图片描述
于是就有一个想法,是不是可以继承这个类,再重写获取 sessionId的方法,最后把实现类注入到容器中,就可以实现。

说干就干,新写一个类继承 ManagerBase抽象类,但是需要我重写 loadunload 方法,我本意是只重写获取 sessionId 方法的,不想搞这么麻烦,还要再换一个方案。

在这里插入图片描述
随后注意到 ManagerBase 已存在的子类 StandardManager 实现了这两个方法,那么问题来了,是否可以直接继承 StandardManager 类呢?答案是可以的。

于是就有了,下面的自定义子类:
在这里插入图片描述
关键的来了,要怎么把 CustomStandardManager 管理类替换掉原来的执行方法呢?还是要研究源码,看下面这段代码:

在这里插入图片描述
管理器是从上下文中获取,那么可以尝试通过上下文对管理器赋值,找了好久终于找到了赋值的方法,如下:

在这里插入图片描述

sessionId的生成方式

服务器端生成sessionid的方式有许多种。下面是其中一种常见的方式:

  • 随机生成:服务器端可以使用随机数生成算法来生成一个唯一的sessionid。这种方法使用的是服务器的随机数生成器,并且通常会结合当前时间戳等其他因素,以增加sessionid的安全性和唯一性。

  • 哈希计算:服务器端可以使用一个哈希函数对一些唯一的信息进行计算,以生成一个sessionid。这些唯一信息可以包括用户的IP地址、浏览器类型、操作系统等等。

  • 使用UUID:UUID(Universally Unique Identifier)是一种标识符,具有全球唯一的特性。服务器可以使用UUID库来生成一个唯一的sessionid。

  • 使用加密算法:服务器端可以使用加密算法对一些唯一信息进行加密,以生成一个唯一的sessionid。这些唯一信息可以包括用户的IP地址、浏览器类型、操作系统等等。常见的加密算法包括MD5、SHA-1、SHA-2等。

  • 自定义生成:服务器端也可以根据自己的需求和特定的业务逻辑,设计一种特定的算法来生成sessionid。这种方法通常结合了一些特定的标识符、唯一信息和加密算法等。

需要注意的是,生成sessionid时要确保生成的sessionid具有足够的安全性和唯一性,以防止被恶意攻击者伪造或篡改。此外,服务器端还要考虑sessionid的存储和管理方式,以便能够有效地识别和验证sessionid的有效性。

http://www.15wanjia.com/news/43731.html

相关文章:

  • 富阳网站建设公司找客户资源的软件免费的
  • 做网站需要的照片站长工具端口扫描
  • 网站建设考试卷a卷河北seo诊断培训
  • 技术支持 东莞网站建设母婴护理营销策划的八个步骤
  • 建设网站要那些代引流推广公司
  • 怎样做微课网站河南今日头条新闻
  • 建站公司还赚钱吗二维码引流推广的平台
  • 自己的网站如何做分销武汉网络推广有限公司
  • wordpress storesem优化公司
  • pc网站怎么做怎样给自己的网站做优化
  • 微网站开发微网站建设免费b站推广短视频
  • 小县城做房地产网站百度旗下产品
  • 买衣服的网站排行榜企业推广app
  • 自学建设网站石家庄线上推广平台
  • 织梦 旅游网站模板贵港网站seo
  • 谁有做爰网站号营业推广经典案例
  • 哈尔滨市做网站优化百度指数代表什么
  • 非法期货做网站优化清理大师
  • 南京个人网站建设seo营销培训
  • 英文网站如何做百度浏览器入口
  • 江西省新冠肺炎疫情福州seo招聘
  • 广州 网站开发东莞网站推广企业
  • 什么网站教你做早点广州网络推广公司
  • 做网站页面用什么seo教程培训
  • 彩票类网站怎么做推广谷歌seo怎么优化
  • 网站建设的资料的准备西安seo推广优化
  • 可信网站验证服务中心软文之家
  • 苏州工业园区两学一做网站搜索词分析工具
  • 网站用cms发布平台有哪些
  • 北京网页设计公司哪儿济南兴田德润简介石家庄网站seo外包