在 Apache 上运行 Shibboleth 身份验证以及在后端运行 Tomcat7 时,我遇到了一个奇怪的问题,Apache 通过 mod_proxy_ajp 发送所有内容。Shibboleth 的参数也是如此。
在文档中明确指出,AJP 仅发送带前缀attributePrefix="AJP_"
的属性,开发人员不应采取捷径并启用通过 HTTP 标头发送身份验证属性:https ://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPSpoofChecking
我尝试使用检索属性
HttpServletRequest req = (HttpServletRequest) FacesContext.getCurrentInstance()
.getExternalContext().getRequest();
Enumeration<String> e = req.getAttributeNames();
但无论我尝试什么,Shibboleth 属性都不会出现。