First time here? You may want to check out the blog archive, subscribe to the RSS feed, sign up for free email updates, or follow me on Twitter. Thanks for visiting!

Understanding DNN User Registration 

DotNetNuke Registration Form Most modern websites and web applications require some form of user authentication in order to “unlock” their entire feature set. Social networking sites and message boards are perfect examples: you are asked to register before making your first contribution.

In DotNetNuke, a valid user profile forms the basis for the role-based permission model.

It starts with the [USER] or <dnn:User runat="server" id="dnnUser" /> skin object deceleration, which generates a “Register” link for unauthentic users to the registration form. The procedure of collecting user profiles is implemented via Private, Public, or Verified user registration types. The only real difference between the 3 of them is the degree of human intervention in the authorization process:


  • Private - ensures that the DNN Admin manually screens all website registrations and grants or denies portal access accordingly.
  • Public – there is no manual intervention or screening whatsoever, meaning the user is granted access to the portal environment immediately after registration.
  • Verified – located somewhere in between Private and Public, DNN emails a verification code to the registering user to “verify” her / his identity. The user then has to take the code back to the website to complete the registration process.

The following is a walkthrough of configuring and customizing Private DNN registrations. However, with slight modifications, it’s just as applicable to Public and Verified registration.

Enable Private Registration

  • log in with either DNN Admin or Host (SuperUser) privileges
  • navigate to Admin > Site Settings > Advanced Settings > Security Settings >User Registration and tick Private

Customize Notification Emails & Register Page

  • navigate to Admin > Languages > Language Editor in DNN 4 and Host > Languages > Edit Default Language > Edit Language Files in DNN 5
  • use your browser (Ctrl+F) to search GlobalResources.resx for email_user_registration_administrator_body.text and email_user_registration_administrator_subject.text to customize the notification email that gets send to the DNN Administrator
  • use your browser (Ctrl+F) to search GlobalResources.resx for email_user_registration_private_body.text and email_user_registration_private_subject.text to customize the notification email that gets send to the registering user
  • use your browser (Ctrl+F) to search SharedResources.resx for PrivateMembership.Text to customize the default copy of the registration control / page

Manage Users

  • DNN Admin (or any other user with the proper permissions in DNN 5): navigate to Admin > User Accounts to authorize portal access and to manage security role membership

Manage Profile Properties and User Settings

  • by default, the DNN registration form asks for User Name, First Name, Last Name, Display Name, Email Address, and Password
  • to edit the default fields or to collect additional information during registration, navigate to Admin > User Accounts > Manage Profile Properties
  • to manage general user settings such as min password length, password aging, redirect after login, redirect after logout, captcha, etc, navigate to Admin > User Accounts > User Settings

Further Considerations

Lately, as part of my DNN consulting work, I've noticed an uptick in client requests for greater flexibility and additional features for the user registration that go beyond what DotNetNuke provides out of the box. Simplifying the signup / login forms and firing more complex events during and after registration come to mind. Fortunately, the DNN ecosystem has filled the void with feature-rich extensions such as Data Springs’ Dynamic Registration, which has become a de facto standard for customizing the entire DNN registration process.

What has your experience with the DotNetNuke user registration been? Do you find it intuitive or overly verbose? Does it satisfy your needs or do you find yourself longing for more?




Comments

Raj Gohil Raj Gohil says:

Hi Tom,

My website provides matrimonial service to our community, I want to display LastName filed as Listbox on user registration page. LastName list will be comming from one table where I will have all unique lastname, if the person;s lastname is not in the list they should not able to register.

How do i do that? Please let me know ASAP

Thanks in advance.

Tom Kraak Tom Kraak says:

@ Raj - what you are trying to do is no supported by DNN "out of the box." I recommend you use the link above and evaluate Data Springs’ Dynamic Registration module to see if it's capable of delivering on your requirements.

Keep us posted.

Mitchel Sellers Mitchel Sellers says:

I too have noticed a mass increase in the number of requests to change the way that this works in DNN, your post here is a great summary of some of the key items that can be hard for a person to find. Especially if new to DNN.

The biggest thing that I see is that DNN is designed to allow other solutions to be used, which is the biggest selling point, and I know many people have gotten around limitations this way. I can't imagine that it will be long before we start seeing custom User Administration modules and the like!

Michael Michael says:

Enterprise Forms can easily be configered to provide the kind of functionality requested by the first poster.

I have created a registration form which allows users to authenticate against a separate Oracle database initially, and with success, much of the registration form will be pre-populated for many of those folks.

The ability to conditionally (based on a calculated field value) put the new user into a particular DNN role upon registration, and map any form element to any of the DNN profile fields (even custom profile fields) makes Enterprise Forms extremely powerful and flexible as a registration solution. It's not a separate module, just some of the muscle Enterprise Forms provides.

Tom Kraak Tom Kraak says:

@ Michael - thanks for chiming in. I did not realize that Enterprise Forms is capable of handling DNN registration. One more reason to look at 3rd party offerings.

Chad Nash Chad Nash says:

@ Raj - Yes, you can do this with Dynamic Registration, there is an option to use 'SQL Options' and you can pull data right from the database and this is a common implementation. Sometimes you might want to pull all users and display their name as the combo box text and their userID as the combo box value. If you have any questions please contact us or visit the forums at www.datasprings.com. You can also download a free trial at http://www.datasprings.com/dynamicregistration. Thanks!

Chad Nash
Data Springs, Inc.
www.datasprings.com

almny almny says:

thanks for this post
but can you explan about users tables ?
for example i cann't found where's user password filed ?!

Roy Pattillo Roy Pattillo says:

I have a question. When someone registers on my site. Is there a setting that will email me so I know someone registered? I have clicked all through my setting and can't find it. The user gets his email just fine. I would just like to know who is registering on my site. Can you point me in the right direction, or is it even possible?

Tom Kraak Tom Kraak says:

@ Roy - as mentioned above, various notification emails get send to the DNN administrator by default.

Make sure you are configured as the DNN admin with a valid email address:

http://seablick.com/blog/118/10-dnn-admin-quick-tips.aspx#7

Chad Nash Chad Nash says:

Yes... And if you want to tweak that email from the core you can do this under Admin, Languages.

-Chad

Ismet Ismet says:

Guys, I was able to place User Account module on a page with prior releases of dnn, however with 5.2.1 i can't find this module at my installation. Has it been removed?

Ebirien Ebirien says:

I'm having experiencing a similar problem as Ismet but with the Account Login module. Can someone tell me where to find this module to bring it into the available modules dropdown list.

Tom Kraak Tom Kraak says:

@ Ebirien - the Account login module (small form with username and password) is still in the module dropdown in the control panel.

What's harder to find in DNN 5.x is the User Account module, which is a larger form for user registration. See this post for more info.

ray ray says:

I edited a custom field name to be "State/Providence" and now the manage user profile fields won't let me change it because it complains that it has a space in it. I don't want to delete the field and try again because users data have been entered into the field already. Anyone got any ideas?

Name (required)

Email (will not be published) (required)

Website

Enter the code shown above in the box below

Subscribe to our Feeds Follow on Twitter