Я пытаюсь включить базовую 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.