User Registration
The Wicket viewer provides the ability for users to sign-up by providing a valid email address:
- 
from the login page the user can instead follow a link to take them to a sign-up page, where they enter their email address. 
- 
a verification email is sent using this service; the email includes a link back to the running application. 
- 
the user then completes the registration process by choosing a user name and password. 
- 
the Wicket viewer then creates an account for them and logs them in. 
In a similar way, if the user has forgotten their password then they can request a reset link to be sent to their email, again by providing their email address.
To support this the framework requires three services to be registered and configured:
- 
the user registration service, which provides an API to create the user account 
- 
the email notification service, which provides an API for to send the verification emails 
- 
the email service, that is used by the email notification service to actually send the email. 
The Apache Causeway core framework provides a default implementation of both the email notification service and the email service. The Security Manager extension provides a partial implementation of user registration service that you can complete for your own applications.
Screenshots
The user is presented with a login page:
 
Navigate to the sign up page. Complete the page, and verify:
 
Back to the login page:
 
Email arrives, with link:
 
Follow the link, complete the page:
 
Automatically logged in:
 
Configuration
There are two prerequisites:
- 
register an implementation of the user registration service The SecMan extension provides an abstract subclass implementation that does most of the work. 
- 
configure the email service This is required by the default email notification service. 
It is also possible to configure the Wicket viewer to suppress the sign-up page link and/or the password reset page, see here for further details.