Вы можете использовать j_security_check.Все, что вы делаете, это публикуете его, и он будет обрабатывать аутентификацию на основе определенной вами области и конфигурации конкретного приложения в вашем файле web.xml.
В зависимости от вашего сервера приложений, есть дополнительный шаг связывания определенной роли (специфичной для приложения) с группой (специфичной для области).
Вот типичная конфигурация:
<servlet>
<servlet-name>Login</servlet-name>
<servlet-class>com.example.Login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login</servlet-name>
<url-pattern>/Login</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Error</servlet-name>
<servlet-class>com.example.Error</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Error</servlet-name>
<url-pattern>/Error</url-pattern>
</servlet-mapping>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>example.com</realm-name>
<form-login-config>
<form-login-page>/Login</form-login-page>
<form-error-page>/Error</form-error-page>
</form-login-config>
</login-config>
<security-role>
<role-name>arbitraryRoleName</role-name>
</security-role>
<security-constraint>
<web-resource-collection>
<web-resource-name>All Pages</web-resource-name>
<url-pattern>/index.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>arbitraryRoleName</role-name>
</auth-constraint>
</security-constraint>
Обратите внимание на security-role
.Это все еще необходимо объединить в группу или что-то еще, что вы определяете, чтобы отличать пользователей, которые могут использовать страницу, от пользователей, которые не могут.