gpt4 book ai didi

apache - 从 GWT servlet 访问 AJP 请求数据

转载 作者:行者123 更新时间:2023-11-28 22:51:40 24 4
gpt4 key购买 nike

我正在尝试创建一个 GWT 应用程序来实现基于 Shibboleth 的授权。因为最终它应该在“生产模式”下提供服务,所以我选择使用 Tomcat7 运行应用程序,但是客户端连接到 Apache2,然后通过 AJP(使用 mod_proxy_ajp)将请求转发给 Tomcat。

为应用程序提供服务的基本任务有效。但是,我需要以某种方式访问​​ Shibboleth 设置的环境变量。根据the Shibboleth documentation ,如果环境变量以 AJP_ 为前缀(然后删除前缀),它们将被转发到 Tomcat,因此我继续配置 Shibboleth,将前缀添加到所有环境变量它设置(这是有效的,因为我已经使用一个简单地打印所有环境变量的 PHP 脚本确认)。

问题是环境变量在到达 Tomcat 时不再作为环境变量可用,而是应该作为 mod_proxy_ajp documentation 提供。将其表述为 AJP 请求属性

显然,应该使用类似的方法访问这些类型的属性

getThreadLocalRequest().getSession().getAttribute("uid")

从 servlet 中。尽管我的 PHP 脚本列出了一个名为 AJP_uid 的环境变量,但是上面的调用返回了 null 而据我所知,它应该返回与环境变量 相同的值AJP_uid 有。

可以肯定的是,我还尝试使用 AJP_uid 而不是 uid 进行上述调用,以防由于某种原因没有删除前缀,但没有成功。

我做错了什么?

最佳答案

正如@ThomasBroyer 提到的,我还可以在 getThreadLocalRequest() 返回的 HttpServletRequest 对象上直接调用 getAttribute,这确实起到了作用对我来说:

getThreadLocalRequest().getAttribute("uid")

返回我期望的适当值。谢谢!

关于apache - 从 GWT servlet 访问 AJP 请求数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38085566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com