Tomcat 7/JBoss7 的自定义会话 ID 生成器

     2023-02-18     282

关键词:

【中文标题】Tomcat 7/JBoss7 的自定义会话 ID 生成器【英文标题】:Custom session id generator for Tomcat 7/JBoss7 【发布时间】:2011-11-09 23:13:23 【问题描述】:

伙计们,

我的 web 应用需要 URL 安全的会话 ID。那些由 JBoss 7 生成的(在 JBoss 中嵌入了 Tomcat 7)有像“+”这样的字符,这让我们有些心痛。我正在探索的途径之一是生成 URL 安全会话 ID。有人知道 J2EE Web 应用程序中的正确挂钩点,我可以在其中插入我的自定义会话 id 生成器吗?

理想情况下,这个挂钩点来自 servlet API 本身。如果没有,我也对 Tomcat/JBoss 特定的解决方案感到满意。

谢谢。

-拉吉

【问题讨论】:

你检查this了吗?刚刚查看了 Servlet 3.0 规范 - 似乎没有标准机制...... 感谢您的指点。很有帮助。 【参考方案1】:

我知道这是 10 多年前提出的问题,但我刚刚有机会在自定义会话 ID 生成器上工作,并在我的 RND 中发现了这个悬而未决的问题。

这是一个 Tomcat 特定的解决方案。 (Tomcat 10.0)

您可以按照以下步骤在 Tomcat 中插入自定义会话 ID 生成器:

    实现org.apache.catalina.SessionIdGenerator接口。 为此实现创建 jar 文件并将其放在 CATALINA_HOME\lib 文件夹中(此步骤很重要,因为如果您不执行此步骤,您将收到 ClassNotFoundException) 在应用程序的 WEB-INF/context.xml 文件中添加会话 ID 生成器的配置。例如
<Context>
    <Manager>
       <SessionIdGenerator className="com.yourpackage.MySessionIdGenerator"/>
    </Manager>
</Context>

【讨论】:

如何在 Django 会话模型中设置自定义字段?

...段来保存会话所属用户的用户ID。一切正常,除了我添加的自定义字段account_id没有在登录时设置。这样做:fromdjango.cont 查看详情

在 BigQuery 中按命中范围的自定义维度过滤会话

】在BigQuery中按命中范围的自定义维度过滤会话【英文标题】:Filteringsessionsbyhit-scopedcustomdimensionsinBigQuery【发布时间】:2018-04-1319:34:36【问题描述】:我正在使用BigQuery(ga360导出)中的GA数据。我有一个在很多领域工作的GA资源... 查看详情

取消嵌套命中和取消嵌套会话范围的自定义维度 BigQuery 代码过滤器

】取消嵌套命中和取消嵌套会话范围的自定义维度BigQuery代码过滤器【英文标题】:UnnesthitsandUnnestingsessionscopedcustomdimensionBigQuerycodefilter【发布时间】:2019-06-1211:34:00【问题描述】:我正在尝试根据具有特定自定义维度值的用户... 查看详情

在会话中存储我的自定义类的 1000 多个实例的列表是不是存在内存问题?

】在会话中存储我的自定义类的1000多个实例的列表是不是存在内存问题?【英文标题】:IsstoringListof1000+instanceofmycustomclassinsessionamemoryproblem?在会话中存储我的自定义类的1000多个实例的列表是否存在内存问题?【发布时间】:201... 查看详情

如何防止 Spring Security 在会话中存储我的自定义 UserDetails 对象

】如何防止SpringSecurity在会话中存储我的自定义UserDetails对象【英文标题】:HowtopreventSpringSecuritystoringmycustomUserDetailsobjectinthesession【发布时间】:2018-04-0208:43:59【问题描述】:我已经为SpringSecurity配置了一个自定义的UserDetailsS​... 查看详情

在 BigQuery 中按命中范围的自定义维度计算会话、用户和收入

】在BigQuery中按命中范围的自定义维度计算会话、用户和收入【英文标题】:Calculatingsessions,users,andrevenuebyhitscopedcustomdimensioninBigQuery【发布时间】:2020-04-2822:54:18【问题描述】:感谢观看!我的目标是通过设备获取我网站中名称... 查看详情

登录前会话ID?

...essionid?【发布时间】:2013-12-1108:50:15【问题描述】:我在Tomcat上有一个带有表单身份验证的简单webapp,并注意到每当用户进入到登录页面时,都会设置一个“预登录”JSESSIONID,之前甚至发生任何登录尝试。这是Tomcat中的默认行... 查看详情

Tomcat SSL - IllegalStateException:SSL 会话 ID 不可用

】TomcatSSL-IllegalStateException:SSL会话ID不可用【英文标题】:TomcatSSL-IllegalStateException:SSLsessionIDnotavailable【发布时间】:2016-11-0519:42:21【问题描述】:我正在开发项目-Tomcat9、JSF2.2、SpringSecurity4.1当我尝试使用HTTPSSSL保护连接时,当... 查看详情

外部tomcat中的自定义上下文路径

】外部tomcat中的自定义上下文路径【英文标题】:Customcontextpathinexternaltomcat【发布时间】:2017-02-1612:43:07【问题描述】:我制作了一个想在外部tomcat8中运行的Spring-Boot应用程序。在Spring-Boot应用程序中,可以使用application.properties... 查看详情

会话 ID 未显示错误消息注意:未定义索引:用户 ID [重复]

】会话ID未显示错误消息注意:未定义索引:用户ID[重复]【英文标题】:SessionidisnotshowingwithanerrormessageNotice:Undefinedindex:UserID[duplicate]【发布时间】:2015-11-0106:10:12【问题描述】:会话ID未显示错误消息注意:未定义的索引:用户I... 查看详情

如何配置 Tomcat 在调用 HttpServletResponse.encodeURL() 时不将会话 ID 编码到 URL 中

】如何配置Tomcat在调用HttpServletResponse.encodeURL()时不将会话ID编码到URL中【英文标题】:HowtoconfigureTomcattonotencodethesessionidintotheURLwhenHttpServletResponse.encodeURL()isinvoked【发布时间】:2011-01-1715:05:00【问题描述】:似乎是一个愚蠢的问... 查看详情

表的自定义自动编号 ID?

】表的自定义自动编号ID?【英文标题】:CustomizedAuto-NumberIDsfortables?【发布时间】:2009-12-1411:48:17【问题描述】:有没有办法在表格中使用我自己的号码,比如自动号码;即自动将下一个可用的记录分配给新记录。对于我想绑定... 查看详情

为啥 Grails(在 Tomcat 中)同时记录到 catalina.out 和我的自定义文件附加程序?

】为啥Grails(在Tomcat中)同时记录到catalina.out和我的自定义文件附加程序?【英文标题】:WhyisGrails(inTomcat)loggingtobothcatalina.outandmycustomfileappender?为什么Grails(在Tomcat中)同时记录到catalina.out和我的自定义文件附加程序?【发布... 查看详情

包含的自定义过滤器-strapi

】包含的自定义过滤器-strapi【英文标题】:customfilterforincludes-strapi【发布时间】:2020-07-1810:35:11【问题描述】:在我的strapi中,目前,我的内容类型为Footer,它包含多个链接,所以我通过id查询footer如下:queryFooters($id:ID!)footer(id... 查看详情

使用 AWS CLoudFormation 模板在 tomcat 上部署 Java 应用程序的自定义食谱

】使用AWSCLoudFormation模板在tomcat上部署Java应用程序的自定义食谱【英文标题】:CustomcookbooktodeployjavaappontomcatusingAWSCLoudFormationtemplate【发布时间】:2015-01-1620:40:11【问题描述】:我正在尝试使用AWSopsworks部署javawebapp/tomcat,但我没... 查看详情

java示例代码_将Tomcat配置为在HttpServletResponse时不将会话id编码到URL中。调用encodeURL()

java示例代码_将Tomcat配置为在HttpServletResponse时不将会话id编码到URL中。调用encodeURL() 查看详情

未找到 ID 未定义的自定义时间栏 - Vis js(更新到当前版本时)

】未找到ID未定义的自定义时间栏-Visjs(更新到当前版本时)【英文标题】:Nocustomtimebarfoundwithidundefined-Visjs(whileupdatingtothecurrentversion)【发布时间】:2020-10-0420:04:52【问题描述】:我将vis.js插件从3.10.0更新到4.20.1。许多方法在新... 查看详情

添加具有自动递增的自定义 ID 的子项 - Firebase

】添加具有自动递增的自定义ID的子项-Firebase【英文标题】:AddchildwithautomaticallyincrementedcustomID-Firebase【发布时间】:2017-12-0511:45:42【问题描述】:我想用自动递增id向firebase数据库添加一个新用户,如下截图所示:我试过了:varr... 查看详情