Электронная почта ссылки подтверждения в JSF

Как Вы делаете ссылку, которую можно послать по электронной почте пользователям, чтобы подтвердить, что их адрес электронной почты нажат в JSF? т.е. после того как они нажимают на ссылку, их учетная запись будет активирована.

9
задан DD. 20 July 2010 в 23:36
поделиться

2 ответа

Предполагая, что вы уже используете JSF 2.0, вы можете взять @ManagedProperty и @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?
    }

    // ...
}

, а затем в JSF, к которому обращается 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>
18
ответ дан 4 December 2019 в 08:50
поделиться

Вы можете реализовать это, создав страницу (например, .jsp), которая имеет:

<f:view beforePhaseListener="#{userActivationController.performActivation}">

(это для фейсклетов; для jsp атрибут просто beforePhase ). Затем в методе управляемого bean-компонента используйте FacesContext.getCurrentContext (). GetExternalContext (). GetParameterMap () , чтобы получить атрибуты запроса и код активации, который передается как:

http: / /yoursite.com/activate.jsp?code=54gfd54tgdgfd

6
ответ дан 4 December 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: