Simple Password Reset
Overview
This module provides a very basic password reset/forgot password functionality purely using Mendix functionality.
The only dependencies are
- The Email Connector module will send out the password reset email.
- The community commons to retrieve the Application Root URL
- Atlas Core for the default layout selection
- Combo box, cause it is awesome
This module will provide a process to reset your password by providing an email address. If an Administration. An account object with that email address exists. It will send out an email from which a user may start the process of entering a new password.
Documentation
Typical usage scenario
When you have an application with local users that uses the default Administration module you may use this module to extend your login page with the ability to reset a users password when they have forgotten it.
Features and limitations
Provides a basic password reset function that uses an email to send a password reset link in case a user actually has an account under the provided email.
Dependencies
Installation
- Import the module
- Import the dependencies
- Configure the Email Connector module as described in its documentation
- Include the SNP_Settings in a location where you want to manage the module settings
- Include the SNP_ResetPasswordButton on a page where you would like the user to start the password reset (generally the login page), if you use login.html adjust it to have a button to /p/forgotpassword
- Add module role Administrator to the project role that handles the settings
- Add the module role Anonymous to your projects anonymous role, if you do not have an anonymous role yet see the documentation for how to create one.
Configuration
Enable the scheduled event ScE_RequestReset_Cleanup this will cleanup expired password reset request objects. This scheduled event runs every minute.
Change the constant RequestValidForSeconds if you want to have a different expiration time for your reset requests, by default this is set to 300 seconds which is 5 minutes.
Change the constant CleanupLimit to adjust the amount of RequestReset objects to be cleaned per scheduled event iteration.