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 19 lines |
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. |
|
---- |
|
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 |
|
[attachments|CrushTaskExample9/event.png] |
|
[attachments|Self Registration/selfregister auto enable2.png] |
|
[attachments|Self Registration/selfregister auto enable3.png] |
\\ |
\\ |
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. |
\\ |
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 \\ |
At line 61 changed one line |
[attachments|CrushTaskExample9/selfregister auto enable4.png] |
[attachments|CrushTaskExample9/event.png] \\ |
At line 50 added 2 lines |
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]\\ |
At line 64 changed 4 lines |
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] |
Other tabs are blanked out.\\ |
[attachments|Self Registration/selfregister auto enable2.png] \\ |
At line 69 changed 2 lines |
\\ |
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|Self Registration/selfregister auto enable3.png] \\ |
At line 73 changed one line |
[attachments|CrushTaskExample9/Http_call_password_reset.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. |
At line 76 changed one line |
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/selfregister auto enable4.png] |
At line 79 changed one line |
[attachments|CrushTaskExample9/HomeDirectory.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: |
|
{{{ |
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.): |
|
{{{ |
{split_start:@:1}{username}{split_end} |
}}} |
|
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. |