JAAS (Java Authentication and Authorization Service) – Java-сервис по аутентификации и авторизации.
Для хранения информации о ролях пользователей, об именах пользователей и их паролях в сервере Apache Tomcat используется специальный xml-файл: tomcat-users.xml
Каждый пользователь характеризуется: именем, паролем и списком ролей, приписываемых ему.
Защищенный ресурс (html –страница, jsp-страница, сервлет) привязывается к ролям. Все пользователи, содержащие в своем списке роль, обеспечивающую доступ (привязанную роль) к некоторому ресурсу, имеют возможность доступа к данному ресурсу.
Технология JAAS предполагает две формы аутентификации пользователей: BASIC и FORM.
BASIC-аутентификация подразумевает использование стандартной формы ввода данных для аутентификации (имени и пароля).
FORM-аутентификация подразумевает использование собственной формы (разработанной пользователем, но по определенным правилам jsp-страницы) для аутентификации.
Применение JAAS-технологии сводится к xml-описанию необходимой информации в дескрипторе приложения web.xml и к разработке форм для ввода имени и пароля пользователя и сообщения об ошибке (для FORM-аутентификации).
|
|
<security-constraint>
<web-resource-collection>
<web-resource-name>go</web-resource-name>
<url-pattern>/index.jsp</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>RoleFAS</role-name>
</auth-constraint>
</security-constraint>
//form
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/errlogin.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<role-name>RoleFAS</role-name>
</security-role>
//basic
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-role>
<role-name>RoleFAS</role-name>
</security-role>