Https на JSF 2, для защищенных ресурсов и входа - PullRequest
7 голосов
/ 01 апреля 2011

У меня есть управляемый компонент с 2 атрибутами: userName & password (с соответствующими методами getter и setters) и метод login(), который обращается к базе данных для проверки учетных данных для входа.

У меня вопрос, когда пользователь нажимает кнопку «Войти», действие должно проходить по протоколу https.Как я могу добиться этого с помощью JSF 2?

Кроме того, если я хочу, чтобы некоторые лица были защищены (по протоколу https), как мне этого добиться?Есть ли фильтр, который позволяет мне это делать?

Заранее спасибо.

1 Ответ

9 голосов
/ 01 апреля 2011

Вы можете определить ограничение безопасности в web.xml вашего приложения:

<security-constraint>
   <web-resource-collection>
      <web-resource-name>SecureConnection</web-resource-name>
        <url-pattern>*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
      </web-resource-collection>
      <auth-constraint/>
      <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
      </user-data-constraint>
</security-constraint>

Адаптируйте шаблон URL, чтобы он содержал вашу страницу входа и все другие защищенные страницы.Использование https определяется ограничением user-data.

Из учебника Java EE :

Если вы указали CONFIDENTIAL или INTEGRAL в качестве защитыКак правило, это означает, что использование SSL является обязательным и применяется ко всем запросам, которые соответствуют шаблонам URL в коллекции веб-ресурсов, а не только к диалоговому окну входа в систему.

Если вы написали свой собственныйМетод login () и использование Glassfish. Вы можете взглянуть на аутентификацию на основе контейнеров с JDBCRealm в качестве альтернативного подхода для входа в систему.

...