阿飞669 2023-03-24 09:44 采纳率: 80%
浏览 33
已结题

自定义sessionid生成策略

springboot项目内置的的tomcat-embed-core生成sessionId的随机数算法是SHA1PRNG算法,该算法在目前被认定为是不安全的随机数算法。如何配置能修改生成sessionid的算法为安全随机数算法,或自己编写的算法如何替换tomcat中的算法。

  • 写回答

2条回答 默认 最新

  • IT_service_mesh 2023-03-24 09:55
    关注

    参考GPT和自己的思路:为了修改生成sessionid的算法为安全随机数算法,可以按照以下步骤进行配置:

    1. 创建一个自定义的Session ID生成类,实现SessionIdGenerator接口,并在generateSessionId方法中编写自己的安全随机数算法。

    2. 在springboot的配置文件中通过server.session.*属性指定Session ID生成类。

    例如,在application.properties中添加以下配置代码:

    server.session.cookie.name=SESSIONID
    server.session.timeout=1800
    server.session.cookie.http-only=true
    server.session.cookie.secure=true
    server.session.cookie.path=/
    server.session.random-session-id-generator-class=my.custom.session.id.generator
    

    其中,my.custom.session.id.generator为自定义的Session ID生成类的完全限定名。

    1. 如果已经部署了war包到Tomcat中,则还需在web.xml中添加以下配置代码,指定Session ID生成类:
    <listener>
      <listener-class>org.springframework.session.web.session.SpringHttpSessionConfigurator</listener-class>
    </listener>
    <session-config>
      <session-id-generator class="my.custom.session.id.generator"/>
    </session-config>
    

    其中,my.custom.session.id.generator为自定义的Session ID生成类的完全限定名。

    请注意,在使用自定义的算法时,需要保证其安全性,避免出现安全漏洞。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月29日
  • 修改了问题 3月24日
  • 创建了问题 3月24日

悬赏问题

  • ¥15 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真