Назад | Перейти на главную страницу

Базовая аутентификация HTTP в Tomcat

Я пытаюсь включить базовую HTTP-аутентификацию в своем приложении tomcat. Также я хочу оставить это вне приложения. Я добавил нового пользователя в tomcat-users.xml и установил для него роль app-user. Затем я добавил файл $ CATALINA_HOME / conf / Catalina / localhost / myapp.xml со следующим содержимым. Но кот полностью игнорирует это. Что я делаю не так?

<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>

В <security-constraint> относятся к web.xml приложения (обычно в WEB-INF/web.xml в твоей войне).

Если вы действительно хотите сохранить его за пределами вашего приложения, вы можете добавить его в файл conf/web.xml, но имейте в виду, что затем он будет применен к любым другим веб-приложениям в вашем Tomcat.