我试图获得一个在Tomcat 6中运行的Web应用程序来授权经过Apachevalidation的用户。
我configuration了Apache 2.4以使用Active Directory进行用户身份validation(使用来自Centrify的模块),并将ProxyPass / ProxyPassReverse请求用于Tomcat。
现在我正试图弄清楚如何在应用程序中使用这些凭据。 以Tomcat 6pipe理器应用程序为例,我该如何改变它以识别已validation的用户并检查合适的angular色?
我假设我必须更改server.xml中的领域,可能是JNDIRealm或JAASRealm,但是,文档谈论领域是“一个”数据库“或用户名和密码”。 这是正确的路吗?
我还假设我需要更改web.xml中的loginconfiguration,但我不知道什么值使用呢。
如果有人能引导我正确的方向或build议其他途径探索,我将不胜感激。
顺便说一句,我也在尝试直接在Tomcat中validation用户,但被要求查看Apache代理路由的偏好。
我假设你正在使用AJP连接器。
在AJP Connector节中设置tomcatAuthentication="false"就足够了,然后apache的用户主体将被转发到tomcat6。
根据文档 ,用户将是无angular色的,根据应用程序会产生一些麻烦。
tomcatAuthentication:如果设置为true,authentication将在Tomcat中完成。 否则,经过身份validation的主体将从本地networking服务器传播并用于Tomcat中的授权。 请注意,这个委托人将没有与之相关的angular色。 默认值是true。
将Tomcatangular色基础授权与在Apache中完成的身份validation混合是不可能的。
要么你在tomcat(身份validation和授权),或者 – 更明智 – 阶段授权在您的Web应用程序考虑到你在服务器variables(从Apache发送到Tomcat发现)的帐户信息。
在后一种情况下,您将跳过所有的tomcat安全部分,并重点关注:
setenv指令,收集例如组成员资格);