Hi, I am from Malaysia and I would like to share my experience to all of you about setting up mix authentication for your DotNetNuke portal. I use DotNetnuke 6.1, Windows Server 2008 R2, IIS 7.5 and Microsoft SQL Server 2008 Express for my web portal and it works like a charm.
Step 1 - Setting up Application Pool
1. Open IIS 7.5.
2. Select "Application Pool" on your right panel and "Application Pool" page will be shown in the content page.
3. In "Application Pool", right click on "Classic .NET AppPool" and select "Advance Setting".
4. In "Advance Setting", set ".Net Framework Version" to v2.0
, "Managed Pipeline Mode" to Classic
, "Identity" to NetworkService
, "Load User Profile" to True
Step 2 - Setting up web site in IIS 7.5
1. In IIS 7.5, go to "Default Web Site" on right panel.
2. Right click on "Default Web Site", select "Add Application".
3. Insert "Alias" for your web site, select "Physical Path" and select Classic .Net AppPool
as Application Pool.
4. Your web portal is now hosted and your local URL is http://localhost/"Alias"/
Step 3 - Setting Up Folder Permission for DotNetNuke Portal
1. Right click on your web portal and select "Edit Permission".
2. Select "Security" tab, you will be redirected to "Security" page.
3. Click "Edit" button to add a new user.
4. In "Permission" page, click "Add" to add a new user and a window will be popup.
5. Insert "Authenticated Users" and click "OK" to add this user.
Step 4 - Setting Up IIS Permission for DotNetNuke Portal in IIS 7.5
1. Go to IIS again and select you web site in the right panel in IIS.
2. Select "Authentication" in content pane and u will be redirected to "Authentication" page.
3. In "Authentication" page, Enabled only "Anonymous Authentication" and "Form Authentication".
4. Now go back to the right panel of the IIS, Expand the directory tree till you reach "Alias"/DesktopModules/AuthenticationServices/ActiveDirectory/.
5. Select again "Authentication", this time you only have to enable "Form Authentication" and "Window Authentication".
Step 5 - Setting up Active Directory in DotNetNuke
1. Go to an Extensions module - OR - Navigate to Admin > Extensions.
2. At Filter by Type, select Authentication System from the drop-down box.
3. Click the Edit button beside DNN_ActiveDirectoryAuthentication.
4. Go to the Extension Settings section.
5. At Enabled, Check the check box to enable this authentication.
6. At Synchronize Role, Check the check box to synchronize the user's role with the Windows Active Directory security group each time user logon.
7. At Provider, select the Authentication provider for this portal. E.g. ADSIAuthenticationProvider
8. At Authentication Type, select the Authentication type for this portal. (I select Delegation)
9. In the Root Domain text box, enter your Root Domain in the format yourdomain.com or DC=you-rdomain,DC=com.
10. In the User Name text box, enter who has permission to access Active Directory. (make sure the user has administrator right to access to AD)
11. In the Password text box, enter the password for the above user name.
12. In the Confirm Password text box, re-enter the above password.
13. Click the Update Authentication Settings link.
14. I copy step 5 from user manual. If you cannot find your domain,
a. please make sure your computer has joint AD Domain.
b. please make sure AD DNS is "Preffered DNS Server" but not "Alternative DNS Server".
c. please consult Network Administrator. ;)
Step 6 - Setting up Error Page
1. By right you should be able to login to DotNetNuke Web Portal using Windows Authentication by using Active Directory account.
2. What if you do not have account in Active Directory, you will be redirected to 401 Error page.
3. In this step, i will redirect the 401 error page to DNN Default Login page.
4. Open IIS, expand the directory tree till you reach "Alias"/DesktopModules/AuthenticationServices/ActiveDirectory/.
5. Double click "Error Pages" in content pane, you will be redirected "Error Pages" page.
6. In this page, right click "401" and select "Edit".
7. Select "Response with 302 Redirect" and Enter your DotNetNuke web portal's address so that it will be redirected back to form authentication when window authentication fail to process. For example, http://ipAddress/DotNetNuke/