Tomcat Apache ISAPI重定向程序是否正在切断Cookie数据?

Tomcat Apache ISAPI重定向程序是否正在切断Cookie数据?,tomcat,cookies,iis-6,isapi-redirect,Tomcat,Cookies,Iis 6,Isapi Redirect,我有一个关于ISAPI重定向器内处理的问题,特别是AJP13处理是我的情况发生的地方。至少根据我从日志中得到的信息,我是这么想的 首先让我描述一下我的设置/config/platform。我在Windows Server 2003 SE SP2上运行Tomcat 6.0文件版本2.0.4.0,在IIS 5.0隔离模式下运行IIS 6.0,并使用日期为2008年9月10日的ISAPI重定向程序版本1.2.26.0。我知道我的配置是正确的,因为IIS正在将我的请求传递给ISAPI过滤器,并且Tomc

我有一个关于ISAPI重定向器内处理的问题,特别是AJP13处理是我的情况发生的地方。至少根据我从日志中得到的信息,我是这么想的

首先让我描述一下我的设置/config/platform。我在Windows Server 2003 SE SP2上运行Tomcat 6.0文件版本2.0.4.0,在IIS 5.0隔离模式下运行IIS 6.0,并使用日期为2008年9月10日的ISAPI重定向程序版本1.2.26.0。我知道我的配置是正确的,因为IIS正在将我的请求传递给ISAPI过滤器,并且Tomcat上的页面在一定程度上正常工作。我有一个应用程序,它使用几个Java servlet,这些servlet中使用的一个类处理由访问控制产品(我们使用的称为GetAccess)生成的cookie中的数据。GetAccess使用ISAPI过滤器进行访问控制和验证,我们将其配置为在cookie中保留用户ID和名称,我们的应用程序使用cookie为每个用户创建个性化页面

在ISAPI重定向器日志中,我可以看到传递给ajp13处理器的cookie信息。下面是该日志的一个片段,其中包含以下信息:

我已经分离了getaccesscookie数据所在的缓冲区部分。我还用X替换了我希望保密的信息,我相信这些信息不会影响这个问题。 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:发送到ajp13 pos=4 len=1104 max=8192 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0000 12 34 04 4C 02 00 08 48 54 54 50 2F 31 2E 31-.4.L.....HTTP/1.1 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0010 00 00 0D 2F 73 64 73 2F 66 61 63 65 2E 6A 73 70-…/sds/face.jsp [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0020000C 31 30 2E 33 32 2E 36 38 2E 32 30 38 00-…XX.XX.XX.208。 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0030 00 0C 31 30 2E 33 32 2E 36 38 2E 32 30 38 00-…XX.XX.XX.208。。 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0040 18 6A 63 61 73 74 65 72 62 65 74 61 2E 6A 63 70-.xxxxxxxxxxxxxx.XXX [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0050 65 6E 6E 65 79 2E 63 6F 6D 00 00 50 00 10 A0-XXXXX.com..P。。。。 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0060 06 00 0A 4B 65 70 2D 41 6C 69 76 65 00 A0 01-…保持活力。。。 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0070 01 0F 69 6D 61 67 65 2F 67 66 2C 20 69 6D 61-…image/gif,.ima [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0080 67 65 2F 78 2D 78 62 69 74 6D 61 70 2C 20 69 6D-ge/x-xbitmap,.im [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0090 61 67 65 2F 6A 70 65 67 2C 20 69 6D 61 67 65 2F-age/jpeg,.image/ [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:00a0 70 6A 70 65 67 2C 20 61 70 70 6C 69 63 61 74 69-pjpeg.application [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:00b0 6F 6E 2F 78 2D 73 68 6F 63 6B 77 61 76 65 2D 66-on/x-shockwave-f [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:00c0 6C 61 73 68 2C 20 61 70 70 6C 69 63 61 74 69 6F-lash [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:00d0 6E 2F 78 2D 6D 73 2D 61 70 70 6C 69 63 61 74 69-n/x-ms-application [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:00e0 6F 6E 2C 20 61 70 70 6C 69 63 61 74 69 6F 6E 2F-on..应用程序/ [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:00f0 78 2D 6D 73 2D 78 62 61 70 2C 20 61 70 6C 69-x-ms-xbap.appli [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0100 63 61 74 69 6F 6E 2F 76 6E 64 2E 6D 73 2D 78 70-阳离子/vnd.ms-xp [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:011073646f63756d656e742c2061706c69-sdocument.appli [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0120 63 61 74 69 6F 6E 2F 78 61 6D 6C 2B 78 6D 6C 2C-阳离子/xaml+xml, [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0130 20 61 70 6C 69 63 61 74 69 6F 6E 2F 76 6E 64-.应用程序/vnd [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0140 2E 6D 73 2D 65 78 63 65 6C 2C 20 61 70 6C 69-.ms excel.appli [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0150 63 61 74 69 6F 6E 2F 76 6E 64 2E 6D 73 2D 70 6F-阳离子/vnd.ms-po [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0160 77 65 72 70 6F 69 6E 74 2C 20 61 70 6C 69 63-werpoint.applic [6月16日星期三] 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0170 61 74 69 6F 6E 2F 6D 73 77 6F 72 64 2C 20 2A 2F-2F-ation/msword*/ [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0180 2A 00 00 0F 61 63 65 70 74 2D 65 6E 63 6F 64-*…接受编码 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0190 69 6E 67 00 00 0D 67 7A 69 70 2C 20 64 65 66 c-ing…gzip,.defl [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:01a0 61 74 65 00 0F 61 63 63 65 74 2D 6C 61 6E-ate…接受局域网 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:01b0 67 75 61 67 00 05 65 6E 2D 75 73 00 A0 05-语言…美国英语。。。 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:01c0 00 27 42 61 73 69 20 4D 44 41 77 4D 7A 49 31-.“Basic.MDAwMzI1 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:01d0 4D 6A 41 33 4F 6B 4A 50 52 31 56 54 58 31 42-MjA3OkJPR1VTX1BB [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:01e0 55 31 4E 58 54 31 4A 45 3D 00 A0 09 00 C6 4A 53-U1NXT1JE= [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:01f0 45 53 49 4F 4E 49 44 3D 42 43 30 34 30-会话ID=BC0B4D0 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0200 44 33 42 36 39 45 32 41 36 42-D3B3EA69E12AE68B [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0210 33 44 46 31 38 42 43 3B 20 41 55 54 48 5F-3DF18BDCC;。认证_ [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0220 53 45 53 4F 4E 5F 49 44 3D 53 4D 53 5F 67-会话ID=SMS [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0230 61 73 74 67 32 38 31 5F 64 30 35 38 3A-astg281_d00584:: [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0240 62 66 32 62 62 33 66 63 62 38 62-bf2bdb38fceb818b [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0250 62 64 39 30 34 61 62 33 64 33 34 35 65-bd904ab3da39415e

[Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0260 3B 47 41 55 53 45 52 49 4E 46 4F 3D 66 69 72 73-;GAUSERINFO=冷杉 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0270 74 5F 6E 61 6D 65 3D 52 49 43 48 41 52 44 26 6C-t_name=RICHARD&l [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0280 61 73 74 5F 6E 61 6D 65 3D 43 55 52 59 26 D-ast_name=CURRY&m [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0290 69 64 64 6C 65 5F 69 6E 69 74 69 61 6C 3D 47 26-iddle_首字母=G& [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:02a0 63 6F 72 70 6F 72 61 74 65 5F 69 64 3D 52 47 43-公司id=XXX [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:02b0 55 52 59 00 A0 0B 00 18 6A 63 61 73 74 72-XXXX….XXXXXXX

[Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:02c0 62 65 74 61 2E 6A 63 70 65 6E 6E 65 79 2E 63 6F-XXXX.XXXXXXXXXXXX.XX [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:02d0 6D 00 A0 0D 00 24 68 74 70 3A 2F 2F 6A 63 61-X$ [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:02e0 73 74 65 62 74 61 2E 6A 63 70 65 6E 6E 65-XXXXXXXXXXXX.XXXXXX [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:02f0 79 2E 63 6F 6D 2F 73 64 73 2F 00 A0 0E 00 91 4D-X.XXX/sds/…M [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0300 6F 7A 69 6C 6C 61 2F 34 2E 30 20 28 63 6F 6D 70-ozilla/4.0.comp [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0310 61 74 69 62 6C 65 3B 20 4D 53 49 45 20 37 2E 30-atible;。MSIE.7.0 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0320 3B 20 57 69 6E 64 6F 77 73 20 4E 54 20 35 2E 31-;。Windows.NT.5.1 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0330 3B 20 2E 4E 45 54 20 43 4C 52 20 31 2E 31 34-;。。NET.CLR.1.1.4 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0340 33 32 3B 20 2E 4E 45 54 20 43 4C 52 20 32 2E-322;。。NET.CLR.2。 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0350 30 2E 35 30 37 3B 20 2E 4E 45 54 20 43 c-0.50727;。。NET.CL [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0360 52 20 33 2E 30 2E 34 35 36 2E 32 35 32 3B-R.3.0.4506.2152; [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0370 20 2E 4E 45 54 20 43 4C 52 20 33 2E 35 2E 33-…NET.CLR.3.5.30 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0380 37 32 39 3B 20 49 6E 66 6F 50 61 74 68 2E 31 29 - 729;.InfoPath.1 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:0390 00 06 75 61 2D 63 70 75 00 00 03 78 38 36 00-…ua cpu…x86。 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:03a0 00 04 75 73 65 72 00 09 30 33 32-…用户…0003252 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:03b0 30 37 00 06 6C 6F 63 61 6C 65 00 05 65 6E-07…地区…英语 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:03c0 5F 55 53 00 09 73 65 73 69 6 F 6E 69 64 00-_US…sessionid。 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:03d0 00 35 53 4D 53 5F 67 61 73 74 67 32 38 31 5F 64-.5SMS_gastg281 [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:03e0 30 30 35 38 3A 62 32 64 62 33 66-00584::bf2bdb38f [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 934:03f0 63 65 62 38 62 64-ceb818bbd904ab3d [Wed Jun 16 10:34:40.107 2010][3796:1872][debug]jk_ajp_common.c 1395:sds tomcat worker请求主体发送0-请求主体重新发送0[Wed Jun 16 10:34:40.373 2010][3796:1872][debug]jk_ajp_common.c 1117:从ajp13接收pos=0 len=107 max=8192 [Wed Jun 16 10:34:40.373 2010][3796:1872][debug]jk_ajp_common.c 1117:0000 04 00 C8 00 02 4F 4B 00 00 02 00 0A 53 65 74 2D-…正常设置- [Wed Jun 16 10:34:40.373 2010][3796:1872][debug]jk_ajp_common.c 1117:0010 43 6F 6F 6B 69 65 00 36 4A 53 53 53 49 4F-Cookie..6JSESIO [Wed Jun 16 10:34:40.373 2010][3796:1872][debug]jk_ajp_common.c 1117:0020 4E 49 44 3D 39 35 39 41 37 32 38 45 33-NID=959A70287E03 [Wed Jun 16 10:34:40.373 2010][3796:1872][debug]jk_ajp_common.c 1117:0030 46 35 30 33 31 30 36 39 41 38-F503A33102069A18 [Wed Jun 16 10:34:40.373 2010][3796:1872][debug]jk_ajp_common.c 1117:0040 46 37 42 35 3B 20 50 61 74 68 3D 2F 73 64 73 00-F7B5;。路径=/sds。 [Wed Jun 16 10:34:40.373 2010][3796:1872][debug]jk_ajp_common.c 1117:0050 00 0C 43 6F 6E 74 65 6E 74 2D 54 79 70 65 00-…内容类型。。 [Wed Jun 16 10:34:40.373 2010][3796:1872][debug]jk_ajp_common.c 1117:0060 09 74 65 78 74 2F 68 74 6D 6C 00-.text/html

[Wed Jun 16 10:34:40.373 2010][3796:1872][debug]jk_ajp_common.c 608:status=200[Wed Jun 16 10:34:40.373 2010][3796:1872][debug]jk_ajp_common.c 615:头数=2 我包含了来自ajp13的回复,因为在我看来,它证实了我的怀疑,即ajp13正在切断我的GetAccess cookie数据。这就是为什么我这么认为。我修改了处理cookie数据的类,以输出Tomcat捕获并放入其stdout_yyyymmdd.log的控制台消息;下面是该日志的一个片段,其中包含cookie数据处理的报告: SDSUser-SDSUserreq-Cookie名称:JSESSIONID Cookie内容如下:

959A70287E03F503A33102069A18F7B5 959A70287E03F503A33102069A18F7B5

SDSUser-SDSUserreq-Cookie名称:身份验证会话ID Cookie内容如下:

SMS_gastg281_d00584 SMS_gastg281_d00584

SDSUser-SDSUserreq-Cookie名称:GAUSERINFO Cookie内容如下:

名字 名字 上面的输出显示该类首先显示所有cookie数据,然后显示一条虚线,然后循环遍历cookie中的每个项。对于前两个,cookie只有一个部分。但是,由于上面传递给ajp13处理器的缓冲区显示了*******行之间的部分,因此GetAccess cookie有几个参数,每个参数之间用关键字=值配对分隔。本例中的GetAccess cookie包含以下数据,此类处理该数据的输出应如下所示:

SDSUser-SDSUserreq-Cookie名称:GAUSERINFO Cookie内容如下:

GAUSERINFO=first\u name=RICHARD&last\u name=CURRY&middle\u initial=G&corporate\u id=XXXXXXX 名字=理查德 姓氏=咖喱 中间字母=G 公司id=XXXXXXX

似乎第一个parm的first=导致ajp13处理器停止处理cookie,并且该信息不会在到达Tomcat和需要该信息的应用程序的会话数据中传递

我已经阅读了ApacheTomcat连接器参考指南和其他相关文档,包括我找到的关于AJPv13连接器的文档,但没有看到任何与这种情况相关的内容。我确实在Tomcat用户邮件存档中发现了一条提到类似问题的消息;本文摘录如下:

从 cookie值中的控件字符05 Dec 2009 13:37:32 GMT那么您需要担心在cookie值中使用“=”的Base64。需要引用该值才能使其生效。必要时,Tomcat将自动执行此操作

我已经搜索了几个邮件列表的档案,Gossamer Threads和Listware都是nam的 虽然我发现了很多关于ISAPI重定向器的信息,但这条消息是唯一一条与我的情况类似的消息

根据您对ISAPI重定向器和AJP13处理器功能的了解,这是一个有效的评估;在这个过程中的某个地方,cookie值中的=导致它被截断?如果是这样,我可以从哪里开始在ISAPI重定向器或AJP连接器中搜索代码来解决这个问题


感谢您抽出时间考虑我的询问。如果您需要更多信息,请让我知道;我很乐意提供我所能提供的。我很高兴能找到解决这种情况的办法

我从另一个来源了解到,当前cookie的格式是V1,为了让Tomcat正确处理cookie的数据,它必须是V2格式——即用双引号包装cookie值。这将允许Tomcat处理带有嵌入特殊字符的cookie值,这是V1格式所不能做到的