2011-04-01 16 views
7

tengo un bean gestionado con 2 atributos: userName & password (con sus respectivos métodos getters y setters), y un método login() que el acceso la base de datos para verificar las credenciales de inicio de sesión.HTTPS en JSF 2, para los recursos protegidos y acceder

Mi pregunta es, cuando el usuario hace clic en el botón "iniciar sesión", la acción debe pasar por el protocolo https. ¿Cómo puedo lograr esto con JSF 2?

Además, si quiero tener algunas Caras protegidas (en el protocolo https), ¿cómo logro esto? ¿Hay algún filtro que me permita hacer esto?

Gracias de antemano.

Respuesta

8

Se puede definir una restricción de seguridad en el web.xml de la aplicación:

<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> 

Adaptar la url-pattern para contener a su página de registro y todas las demás páginas seguras. El uso de https se define mediante la restricción de datos del usuario.

Desde el Java EE tutorial:

Si especifica CONFIDENCIAL o integral como una restricción de seguridad, que generalmente significa que se requiere el uso de SSL y se aplica a todas las solicitudes que coinciden con los patrones de URL en la colección de recursos web , no solo en el cuadro de diálogo de inicio de sesión .

Si usted escribió su propio método de inicio de sesión() y están usando Glassfish, que podría echar un vistazo a la autenticación basada en un recipiente con JDBCRealm como método de entrada alternativo.

Cuestiones relacionadas