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 contro­ls over the entire process. The first step is to create a username in the User Manager that will be used for this. Keep it simple, and use a basic simple password too. Do not assign them any additional privileges as this will be a public account that is used for doing registrations. I suggest an account name "register" with a password of "register". This will allow you to use a URL like this to reach the registration page:

https://www.domain.com/?u=register&p=register&path=/WebInterface/new-ui/messageForm.html
When this page loads, it looks at the URL to see the name of the HTML file. The default is "messageForm" and it's 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. The next step is to make a form named "messageForm" in the Preferences, WebInterface, Custom Forms. There are only two required items for the form, the username and password. Every field item must have a 'name' that starts with 'registration_'. So for the two required items, they would be 'registration_username' and 'registration_password'. You can have more items, just look at a user.XML file to see other element names. So if you wanted to include email in the registration, you would do 'registration_email'. If you want to prepend the user to one group you can use 'pendingSelfRegistration' as a dropdown box and set the possible group values in it. The user that way will be part of the selected group, just will need to be enabled by the group admin. attachments Now that you have the form defined, and the registration user created, you need to assign this form to the registration user. You do this in the User Manager. Reload the page if it was open before. Use the Quick Jump drop down to get to the WebInterface section. Then assign your form there.

attachments

Save all changes, and you are ready to test. When you login as the registration username, and go to that specific HTML page, this form will be loaded and sent in a 'registration' request mode.

https://www.domain.com/?u=register&p=register&path=/WebInterface/new-ui/messageForm.html
This is what the form looks like for the user:

attachments

When a user self registers, their account is created as a disabled user, and added to a specific group called "pendingSelfRegistration". This group will contain all users that sign up in this way. You can then review users in the group, enable their accounts, and remove them from the group. Or you may simply delete the user if they are not approved.


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 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, depending on the host Operation System, should be something like: /Applications/CrushFTP11/users/MainUsers/{registration_username}/user.XML or C:/Program Files/CrushFTP11/users/MainUsers/{registration_username}/user.XML or /var/opt/CrushFTP11//users/MainUsers/{registration_username}/user.XML Need to clean the other tabs’ prefilled input fields, only the Find/Replace tab is in use now: replace the <max_logins>-1</max_logins> string to <max_logins>0</max_logins>.

attachments attachments attachments attachments attachments


The requirement might emerge, that newly registered users be organized by the User Connection Group they register from, and be added to a specific User Group in User Manager (more info: Groups).

Each server listener on Preferences, IP Servers can have its own User Connection Group (which is by default the MainUsers). In our example port 4442 will be associated with “warehouse”, port 4443 to “office” User Connection Group. Our goal is that users who are coming from port 4442, warehouse, to be automatically members of the “warehouse-group” group, and similarly, users who are coming from port 4443, office, to be automatically members of the “office-group”.

For this we need to duplicate our “register” user. From the CrushFTP install folder, users/MainUsers/ need to copy the register/ subfolder and paste it into the users/warehouse/ folder and into the /users/office/ folder. Also, need a group template user for each group, which has the exact same name as the group (e.x. warehouse-group and office-group). This user will facilitate the bulk user management within the group through inheritance.

The group can be created automatically by adding a dropdown combobox item to our messageForm: The dropdown item’s Label is arbitrary, its Name must be “pendingSelfRegistration”, its Value is composed of the User Connection Group name, referenced by {user_listen_ip_port} and the ‘group’ suffix, so the value will be “{user_listen_ip_port}-group”

attachments

The WriteFile tasks’s file path also need to be adjusted to

/Applications/CrushFTP11/users/{user_listen_ip_port}/{registration_username}/user.XML

or

C:/Program Files/CrushFTP11/users/{user_listen_ip_port}/{registration_username}/user.XML

or

/var/opt/CrushFTP11//users/{user_listen_ip_port}/{registration_username}/user.XML

attachments

attachments

The result: the self-registered user, coming from port 4443 (office connection group) is
-bound correctly to the office connection group
-added to the office user group
-being enabled

attachments

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
png
assignform.png 17.4 kB 2 11-Nov-2025 05:49 Sandor
png
group_combo.png 14.4 kB 1 11-Nov-2025 05:50 Sandor
png
registration.png 29.7 kB 4 11-Nov-2025 05:50 Sandor
png
registration_with_group.png 30.8 kB 1 11-Nov-2025 05:50 Sandor
png
result.png 33.2 kB 1 11-Nov-2025 05:56 Sandor
png
selfregister auto enable0.png 116.0 kB 1 05-Dec-2023 05:32 Halmágyi Árpád
png
selfregister auto enable1.png 54.7 kB 3 05-Dec-2023 05:32 Halmágyi Árpád
png
selfregister auto enable2.png 22.9 kB 3 05-Dec-2023 05:32 Halmágyi Árpád
png
selfregister auto enable3.png 22.3 kB 3 05-Dec-2023 05:32 Halmágyi Árpád
png
selfregister auto enable4.png 63.2 kB 3 05-Dec-2023 05:32 Halmágyi Árpád
png
selfregister_auto_enable0.png 53.0 kB 1 11-Nov-2025 05:51 Sandor
png
selfregister_auto_enable1.png 21.2 kB 1 11-Nov-2025 05:51 Sandor
png
selfregister_auto_enable2.png 21.4 kB 1 11-Nov-2025 05:51 Sandor
png
selfregister_auto_enable3.png 22.1 kB 1 11-Nov-2025 05:51 Sandor
png
selfregister_auto_enable4.png 20.3 kB 1 11-Nov-2025 05:51 Sandor
png
signupform.png 100.1 kB 3 11-Nov-2025 05:51 Sandor
png
writefile_replace.png 21.2 kB 1 11-Nov-2025 05:51 Sandor
« This page (revision-17) was last changed on 11-Nov-2025 06:06 by Sandor
G’day (anonymous guest)
CrushFTP11 | What's New

Referenced by
LeftMenu

JSPWiki