tomcat 中的 HTTP 基本身份验证

tomcat 中的 HTTP 基本身份验证

我正在尝试在我的 tomcat 应用程序上启用基本 HTTP 身份验证。我还想将其保留在应用程序之外。我在 tomcat-users.xml 中添加了一个新用户,并将其角色设置为“app-user”。然后我添加了一个文件 $CATALINA_HOME/conf/Catalina/localhost/myapp.xml,其中包含以下内容。但是,tomcat 完全忽略了它。我做错了什么?

<Context path="/myapp">

<security-constraint>
    <web-resource-collection>
            <web-resource-name>
                  Wildcard means whole app requires authentication
            </web-resource-name>
            <url-pattern>/*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
            <role-name>app-user</role-name>
    </auth-constraint>

    <user-data-constraint>
            <!-- transport-guarantee can be CONFIDENTIAL, INTEGRAL, or NONE -->
            <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
</security-constraint>

<login-config>
    <auth-method>BASIC</auth-method>
</login-config>
</Context>

答案1

<security-constraint>标签属于应用程序的web.xml(通常在WEB-INF/web.xml您的war中)。

如果您确实希望将其保留在您的应用程序之外,那么您可以将其添加到文件中conf/web.xml,但请记住,它将应用于您的 tomcat 中的任何其他 web 应用程序。

相关内容