一尘不染

使用BASIC身份验证集中保护所有tomcat Web应用程序

tomcat

我有一台Tomcat 6服务器,其中包含三个Web应用程序:一个自定义的ROOT,Jenkins和Nexus。

我想使用BASIC身份验证集中保护所有这三个(server.xml?)。

如何在 修改或配置Webapp本身的 情况下 实现这一目标?


阅读 225

收藏
2020-06-16

共1个答案

一尘不染

首先,我尝试(没有成功)在 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>
2020-06-16