At line 1 changed one line |
CrushFTP supports allowing users to self register on your server. This is not automatic, and you must configure and personalize this experience. You have extensive controls over the entire process. You can also have the users get an email to set their password and a folder created for the users with the same domain to access their common files.// |
!Enable self registered accounts and send a link to set their password on first login.\\ |
At line 3 added 2 lines |
CrushFTP supports allowing users to self register on your server. This is not automatic, and you must configure and personalize this experience. You have extensive controls over the entire process. You can also have the users get an email to set their password and a folder created for the users with the same domain to access their common files.\\ |
|
At line 11 changed one line |
When this page loads, it looks at the URL to see the name of the HTML file. The default is "messageForm" and its fine to keep it this way. It then asks the server to give it the registration form named "messageForm" as long as it has been assigned to the "register" user. If it hasn't, you will just get a blank page. If you do not use this custom login.html page, the registration can still be processed, its just a little less intuitive to the user that it was processed. |
When this page loads, it looks at the URL to see the name of the HTML file. The default is "messageForm" and its fine to keep it this way. It then asks the server to give it the registration form named "messageForm" as long as it has been assigned to the "register" user. If it hasn't, you will just get a blank page. If you do not use this custom login.html link, the registration can still be processed, its just a little less intuitive to the user that it was processed. |
At line 15 changed one line |
So for the two required items, they would be "Email" and it's value is "registration_username" and "confirm email" with the value of "registration_email". You can have more items, just look at a user.xml file to see other element names. So if you wanted to include another item in the registration, you would do 'registration_otherelementname'. |
So for the two required items, they would be label:"Email" and it's name:"registration_username" and label:"Confirm Email" with the name:"registration_email". You can have more items, just look at a user.XML file to see other element names. So if you wanted to include another item in the registration, you would do 'registration_otherelementname'. Using a field like "registration_password" and "registration_password2" will force password validation that both fields are the same.\\ |
At line 35 removed one line |
---- |
At line 37 changed one line |
You can also do more advanced things with this as well. You can attach events that send email notifications thanking users for registering, and for letting you know there is a user that is pending. This is done via the events section, and using an event for when a user "accepts disclaimer" as this is the same form. |
If you need further customizations, you can customize the messageForm.html page with your own copy and use it instead. Just be sure to use the appropriately named form name based on the html file's name. "messageForm.html" = "messageForm" from name. |
At line 41 changed one line |
If you need further customizations, you can customize the messageForm.html page with your own copy and use it instead. Just be sure to use the appropriately named form name based on the html file's name. |
To auto enable accounts and send user a link to set their password for first time user, configure an event. Update the path according to the machine that is hosting CrushFTP.\\ |
The path should be something like: \\ |
FILE://Applications/CrushFTP8_OSX/users/MainUsers/{registration_username}/user.XML \\ |
Or \\ |
FILE://C:/Program Files/CrushFTP8_PC/users/MainUsers/{registration_username}/user.XML \\ |
\\ |
[attachments|CrushTaskExample9/event.png] \\ |
\\ |
Add a new write file task to disable the non existent password. This will make it invalid and not decrypt-able. Find/Replace tab use "</password>" for the Find Text and "DISABLED</password>" for Replace With.\\ |
[attachments|CrushTaskExample9/disabled password.png]\\ |
\\ |
Other tabs are blanked out.\\ |
[attachments|Self Registration/selfregister auto enable2.png] \\ |
\\ |
[attachments|Self Registration/selfregister auto enable3.png] \\ |
\\ |
\\ |
For another Write File task, we will do the same as before, but this time we are doing a Find/Replace to enable the account. In the Find/Replace tab use "<max_logins>-1</max_logins>" for Find Text and "<max_logins>0</max_logins><email>{registration_username}</email>" for Replace With. This sets their email to match the username and enables the account. |
\\ |
\\ |
[attachments|CrushTaskExample9/selfregister auto enable4.png] |
\\ |
\\ |
Finally we will make an HTTP call that will force the user password reset and will send the user an email with a link to reset their password. In the URL use: |
At line 43 changed one line |
---- |
{{{ |
http://127.0.0.1:8080/?command=request_reset&reset_username_email={registration_username}¤tURL=http://your_domain.com/WebInterface/jQuery/reset.html |
}}} |
\\ |
[attachments|CrushTaskExample9/Http_call_password_reset.png]\\ |
\\ |
For the users with the same domain name to have a common folder you need to use the Admin>>Plugins>>HomeDirectory and set the Use Unique Time Stamped Folder? (ex. johndoe_01.01.2007) value to be this text manipulation string (it finds the @ sign, and keeps everything to the right of it.): |
At line 45 changed 5 lines |
If you want to enable the self registered accounts without user interference, you can use the following event, on the register user. Set the path according to the machine that is hosting CrushFTP. |
The path should be something like: |
/Applications/CrushFTP7_OSX/users/MainUsers/{registration_username}/user.XML |
Or |
C:/Users/Admin/Program Files/CrushFTP7_PC/users/MainUsers/{registration_username}/user.XML |
{{{ |
{split_start:@:1}{username}{split_end} |
}}} |
At line 51 changed one line |
[attachments|CrushTaskExample9/event.png] |
or for a complex one...\\ |
{{{ |
{substring_start:1:-1}{substring_start:{indexof_start:@:0}{username}{indexof_end}:-1}{username}{substring_end}{substring_end} |
}}} |
\\ |
\\ |
[attachments|CrushTaskExample9/HomeDirectory.png]\\ |
\\ |
Go try things out now. Its finished. |
At line 53 removed one line |
[attachments|Self Registration/selfregister auto enable2.png] |
At line 55 removed one line |
[attachments|Self Registration/selfregister auto enable3.png] |
At line 57 removed 28 lines |
// |
// |
In the Find/Replace tab use "<max_logins>-1</max_logins>" for Find Text and "<max_logins>0</max_logins><email>{registration_username}</email>" for Replace With. |
|
// |
// |
[attachments|CrushTaskExample9/selfregister auto enable4.png] |
// |
// |
Add a new write file task exactly as the one before just on the Find/Replace tab use "</password>" for the Find Text and "DISABLED</password>" for Replace With. |
|
// |
// |
[attachments|CrushTaskExample9/disabled password.png] |
// |
// |
You need to make a HTTP call that will force the user password reset and will send the user the email for the given action. In the URL use: "http://127.0.0.1:8080/?command=request_reset&reset_username_email={registration_username}¤tURL=http://your_domain.com/WebInterface/jQuery/reset.html" |
// |
// |
[attachments|CrushTaskExample9/Http_call_password_reset.png] |
// |
// |
For the users with the same domain name to have a common folder you need to use the Admin>>Plugins>>HomeDirectory and set the Use Unique Time Stamped Folder? (ex. johndoe_01.01.2007) value to be "{substring_start:1:-1}{substring_start:{indexof_start:@:0}{username}{indexof_end}:-1}{username}{substring_end}{substring_end}" |
// |
[attachments|CrushTaskExample9/HomeDirectory.png] |
|
|
|