我有一台Tomcat 6服务器,其中包含三个Web应用程序:一个自定义的ROOT,Jenkins和Nexus。
我想使用BASIC身份验证集中保护所有这三个(server.xml?)。
如何在 不 修改或配置Webapp本身的 情况下 实现这一目标?
首先,我尝试(没有成功)在 conf / context.xml中 包含BasicAuthenticator阀。这似乎没有任何作用。
最后,通过将以下代码段添加到 conf / web.xml中, 它可以正常工作(保护所有web应用程序):
<security-constraint> <web-resource-collection> <web-resource-name>Basic Authentication</web-resource-name> <!--Here wildcard entry defines authentication is needed for whole app --> <url-pattern>/*</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>myrole</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> </login-config> <security-role> <description>My role</description> <role-name>myrole</role-name> </security-role>