¿Cómo se hace un enlace que se puede enviar por correo electrónico a los usuarios para confirmar que se haga clic en JSF en su dirección de correo electrónico? es decir, una vez que hacen clic en el enlace, se activará su cuenta.Enlace de confirmación Correo electrónico en JSF
9
A
Respuesta
17
Asumiendo que ya está en JSF 2.0, se pudiera tomar @ManagedProperty
y @PostConstruct
.
@ManagedBean
@RequestScoped
public class Activation {
@ManagedProperty(value="#{param.key}")
private String key;
private boolean valid;
@PostConstruct
public void init() {
valid = check(key); // And auto-login if valid?
}
// ...
}
y luego en JSF que se accede por http://example.com/activate.jsf?key=somelonggeneratedkey
<h:panelGroup layout="block" rendered="#{activation.valid}">
<p>Your account is successfully activated!</p>
<p><h:link outcome="home">Go to home page</h:link></p>
</h:panelGroup>
<h:panelGroup layout="block" rendered="#{!activation.valid}">
<p>Activation failed! Please enter your email address to try once again.</p>
<h:form>
...
</h:form>
</h:panelGroup>
6
Puede ponerlo en práctica mediante la creación de una página (por ej .jsp) que tiene:
<f:view beforePhaseListener="#{userActivationController.performActivation}">
(esto es para facelets; JSP para el atributo es sólo beforePhase
). Y luego, en el método del bean gestionado utilizar FacesContext.getCurrentContext().getExternalContext().getParameterMap()
para obtener los patameters solicitud y obtener el código de activación, que se pasa como:
Cuestiones relacionadas
- 1. Personalizar diseñar correo electrónico de confirmación
- 2. Diseñar, gorjeo - la demanda de correo electrónico de confirmación
- 3. enlace de validación por correo electrónico
- 4. Django - autenticación, registro con la confirmación de correo electrónico
- 5. Mejores prácticas de confirmación de correo electrónico para aplicaciones móviles
- 6. correo electrónico de confirmación en FOSUserBundle perfil Editar
- 7. Trivial: obtener la confirmación del correo electrónico enviado en Android
- 8. envía un correo electrónico con el enlace
- 9. Proveedor de membresía ASP.NET con correo electrónico de confirmación
- 10. Mejores prácticas para los códigos de confirmación de correo electrónico
- 11. Correo electrónico de confirmación de la cuenta enviado como SPAM
- 12. Rails idear no envía correo electrónico de confirmación, pero requiere
- 13. Enlace de código HTML dentro de un correo electrónico a un archivo adjunto de correo electrónico
- 14. MAILTO Enlace en el correo electrónico para iniciar un nuevo correo electrónico
- 15. Rails ¿Diseñar, cómo omitir el correo electrónico de confirmación pero todavía generar un token de confirmación?
- 16. Buenos métodos de protección de enlace de correo electrónico
- 17. Estilo de enlace de correo electrónico/href = "mailto:" con CSS
- 18. ¿Cómo hago un enlace de reenvío de correo electrónico?
- 19. Abra la aplicación iPhone desde un correo electrónico Enlace
- 20. regex para la validación de correo electrónico
- 21. Integración de correo electrónico
- 22. Problema de correo electrónico (enviar hipervínculo en el cuerpo del correo electrónico) android
- 23. Correo electrónico de confirmación de idear en rails3 utilizando gmail no llegando
- 24. Confirmación de correo electrónico en Rails sin usar gemas/complementos de autenticación existentes
- 25. ¿Cómo comprobar si una dirección de correo electrónico es falsa?
- 26. correo electrónico validación de campo de correo
- 27. ¿Cómo puedo cambiar la plantilla del correo electrónico de confirmación en FOSUserBundle?
- 28. validación de correo electrónico usando la expresión regular en JSF 2/PrimeFaces
- 29. Enviar correo de la página JSF utilizando beans
- 30. Ofuscación de correo electrónico en html
Esto es justo lo que necesito. Gracias +1 –
Pregunta rápida. El código debe ser largo y único. ¿Java tiene una manera de generar una larga secuencia única como esa BalusC? No creo que el generador de números aleatorios de Java garantice la unicidad –
@Harry: use ['java.util USID'] (http://download.oracle.com/javase/6/docs/api/java/util/UUID.html) : 'String uuid = UUID.randomUUID(). ToString();'. – BalusC