Ответ 1
Один из способов сделать это - настроить базовую аутентификацию для своего приложения. Вы должны сделать это только в том случае, если используете ssl, но тогда логин без ssl не будет защищен в любом случае, поэтому, я думаю, у вас это уже есть.
В Jetty есть много способов сделать это, и это только один из них.
Сначала вы должны определить область, в которой вы определяете всех пользователей, пароли, роли и т.д. Настройки по умолчанию в Jetty уже определяют область, называемую "Test Realm". Область определена в файле /etc/jetty -testrealm.xml. Вы можете использовать это царство или создать новый. Если вы определяете новое, вы можете определить его в том же файле или в отдельном файле. Если вы создадите отдельный файл, не забудьте включить этот файл в start.ini.
В файле /etc/jetty -testrealm.xml имеется ссылка на /etc/realm.properties. Здесь вы создаете своих пользователей. Если вы хотите просто использовать тестовую область, не забудьте удалить пользователей по умолчанию, которые уже определены в realm.properties.
Существуют также другие виды реализаций царства, которые используют, например, базу данных для пользовательских данных.
Затем откройте файл /etc/webdefault.xml и добавьте что-то вроде этого внизу:
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern> <!--The url that should be protected -->
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name> <!--The required roles for accessing the url -->
<role-name>user</role-name>
<role-name>moderator</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method> <!-- Use http basic authentication -->
<realm-name>Test Realm</realm-name> <!-- Users are defined in this realm -->
</login-config>