In order for Users to Reset their own password, they must have Apex Class Access Enabled on their User Profile.
To find a User's Profile you must be the System Administrator User
Navigate to the Setup menu. Click on your Username in the upper-right corner of your improveit 360 page. Clicking on your Username will expose a dropdown menu. Here you will find the Setup menu:
From the Setup menu, use the Quick Find search bar and search the word "Users". Under the "Manage Users" section, click on the Users menu:
On the Users page, you'll select a View. Be sure the View is set to: "Active Users" to see users who have login access to your system. Change the View to "All Users" to see all your Organization's users, both past and present.
The Active Users list view is good to use when you're trying to edit an existing user. The All Users or Inactive Users list views are good to use when you're troubleshooting or activating a new User.
From the Active Users view, you will see each User's Profile. Click on the Profile Name
Then, hover over the Enabled Apex Class Access related list and click the Edit button:
Next you'll need to find the following Apex Classes in the list and move them to the Enabled Apex Classes list:
- ChangePasswordController
- ChangePasswordControllerTest
- ForgotPasswordController
- ForgotPasswordControllerTest
Move all four (4) of the Apex Classes to the Enabled column and click Save
Repeat this process for ALL User Profiles to insure all your Users can reset their own Passwords.