Я использую JDBCRealm для аутентификации пользователя Tomcat 7 и SSL для https, но не могу понять, как их объединить. Моя цель - сделать так, чтобы вся страница была защищена с помощью SSL и была доступна для просмотра только с определенной ролью. Я использую JSF 2.1. Вот мой код в web.xml
<security-role>
<description/>
<role-name>employee</role-name>
</security-role>
<security-role>
<description/>
<role-name>administrator</role-name>
</security-role>
<security-role>
<description/>
<role-name>boss</role-name>
</security-role>
<security-constraint>
<display-name>ConstraintPrac</display-name>
<web-resource-collection>
<web-resource-name>panelprac</web-resource-name>
<url-pattern>panele/pracownik/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>employee</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
Кажется, они работают отдельно, но мне нужен комбинированный способ. Теперь Tomcat не перенаправляет на порт 8443 (https), и вы можете получить доступ к любой странице, просто набрав ее в браузере. Я использовал эту страницу для SSL http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html, а эту для JDBCRealm http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html. Я хочу, чтобы моя программа позволяла получать доступ к определенным страницам только для определенных ролей и в то же время делать все по HTTPS. Пожалуйста, помогите мне с этим. Я не знаю, где я сделал ошибку. Я не получаю никаких ошибок.
ПОСТАНОВИЛИ
Проблема была глубже, чем я думал. Tomcat 7 не поддерживает аутентификацию пользователя в пользовательской форме, поэтому представленные выше роли безопасности не работают. Чтобы решить эту проблему, мне пришлось создать класс Filter для защиты от несанкционированного доступа к страницам.
Я оставлю эту тему, если у кого-то возникнет такая же проблема (если администратор сочтет эту тему неуместной, не стесняйтесь ее удалять)