Estás viendo una versión antigua de esta página. Ve a la versión actual.

Comparar con el actual Ver el historial de la página

« Anterior Versión 2 Siguiente »

Para poder poner el Capta de Google en nuestros formularios necesitaremos tener:

  • Fundeweb 2.x con primefaces 8.0 o superior.
  • Acceso a una cuenta que permita crear Captcha de Google.

Una vez tenemos ambas cosas deberemos hacer dos tareas: Configurar el Capta dentro del espacio de Google y configurar y poner el componente captcha de Primefaces en nuestra aplicación.

Alta de Google Capta

Para dar de alta nuestro Captcha deberemos entrar en la web de gestión de recapta de Google en el sitio de gestión



Para crear un nuevo Captcha deberemos darle al botón    tras ello iremos iremos a la pantalla de configuración para un nuevo captcha donde deberemos indicar los siguientes valores:

  • Etiqueta: El nombre para identificarlo dentro de Google Captcha
  • Tipo de reCaptcha: Deberemos indicar v2 y elegir la opción "Casilla No soy un robot".
  • Dominios: Deberemos indicar los dominios sobre los que actuará:
    • Servidores: miaplicacion.um.es, miaplicaciontest.um.es, miaplicaciondesa.um.es
    • Local: miequipo.dev.atica.um.es

Cuando demos de alta un nuevo dominio tendremos que esperar 30 min hasta que esté activo. Si ejecutamos antes de ese tiempo nuestra aplicación nos dará el error ERROR: Invalid domain for site key



Una vez lo hayamos creado se nos facilitará el par de claves pública/privada para usar Captcha

A partir de este punto ya solo quedará configurar nuestra aplicación para que use el componente de primefaces con la configuración dada de alta en Google reCaptcha

Configuración y uso en nuestra aplicación

La configuración y uso es bastante sencillo, para configurarlo deberemos abrir nuestro fichero web.xml y añadir la configuración que indica la wiki de Primefaces para dar de alta las claves de Captcha

<context-param>
    <param-name>primefaces.PRIVATE_CAPTCHA_KEY</param-name>
    <param-value>YOUR_PRIVATE_KEY</param-value>
</context-param>
<context-param>
    <param-name>primefaces.PUBLIC_CAPTCHA_KEY</param-name>
    <param-value>YOUR_PUBLIC_KEY</param-value>
</context-param>


Una vez configuradas correctamente las claves crearemos nuestro formulario con el elemento captcha de primefaces. 

		<p:panel header="captcha">
			<h:form>
				<!-- Elemento captcha -->
				<p:captcha></p:captcha>
				...
				...
				...
				<p:commandButton value="Guardar" ajax="false"></p:commandButton>
				<!--Importante: el botón o elemento que haga submit NO puede ser ajax, en primefaces hay que indicar ajax="false" -->
			</h:form>
		
		</p:panel>


El resultado sería el siguiente


  • Sin etiquetas