В этой статье описывается, как защитить веб-приложение Java в JBoss с помощью BASIC-аутентификации.
Шаг 1: отредактируйте файл web.xml в вашем приложении
Отредактируйте файл web.xml в своем веб-приложении по следующему адресу:
WEB-INF/web.xml
Отредактируйте ваш web.xml и поместите следующее содержимое (обычно в конец файла)
<web-app>
....
<security-constraint>
<web-resource-collection>
<web-resource-name>All resources</web-resource-name>
<description>Protects all resources</description>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>myrole</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>myrole</role-name>
</security-role>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Authorized access only.</realm-name>
</login-config>
</web-app>
Это способ указать контейнеру ограничить все URL-адреса для любого пользователя с ролью « myrole ».
Шаг 2: Создайте jboss-web.xml в вашем приложении
Отредактируйте или создайте файл jboss-web.xml в своем веб-приложении по следующему адресу:
WEB-INF/jboss-web.xml
Поместите следующее содержимое:
<jboss-web>
<security-domain>java:/jaas/myappname</security-domain>
</jboss-web>
Это говорит JBoss использовать политику приложения « myappname» для этого приложения.
Шаг 3: Создайте политику приложений на сервере JBoss
Теперь нам нужно определить политику приложения « myappname » на сервере JBoss.
Отредактируйте файл login-config.xml в каталоге сервера JBoss по следующему адресу:
jboss/server/default/conf/login-config.xml
Отредактируйте содержимое файла login-config.xml и добавьте политику приложения следующим образом:
<policy>
...
<!-- application policy for myappname -->
<application-policy name="myappname">
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required">
<module-option name="usersProperties">props/users.properties</module-option>
<module-option name="rolesProperties">props/roles.properties</module-option>
</login-module>
</authentication>
</application-policy>
</policy>
Это сообщает JBoss пользователю «UsersRolesLoginModule», который использует файлы свойств для хранения пользователей и ролей.
Шаг 4: Создание пользователей на сервере JBoss
Теперь мы создаем нового пользователя с ролью «myrole».
Создать нового пользователя
Отредактируйте файл users.properties, используемый вашей политикой приложения на шаге 3.
jboss/server/default/conf/props/users.properties
Добавьте строку для создания нового пользователя следующим образом.