How to Stay Authenticated while Switching among Second and Third Level Domain Sites
This article describes how to modify the login page to allow users stay authenticated between sites running on third and second level domains, assuming that all sites are running under one Kentico installation and in one virtual directory.
If you are running multiple sites using second/third level domains (for example
domain.com,
dev.domain.com,
public.domain.com), you can modify the login page to authenticate users for each of the above sites after the login form is filled in successfully.
How to do it?
1. You will need to modify the
~/CMSPages/logon.aspx.cs page, , specifically the
Login1_LoggedIn method.
2. Add the following code into the
Login1_LoggedIn method:
System.Web.HttpCookie MyCookie = System.Web.Security.FormsAuthentication.GetAuthCookie(Login1.UserName, false);
string[] domainParts = UrlHelper.GetCurrentDomain().Split('.');
if (domainParts.Length > 1)
{
string secondLevelDomain = domainParts[domainParts.Length - 2] + "." + domainParts[domainParts.Length - 1];
MyCookie.Domain = secondLevelDomain;
Response.AppendCookie(MyCookie);
}
3. Now if you log in to the system, you can switch between sites (for example in the CMS Desk) without being redirected to the login page.
-it-
See also: Single sign on article
Applies to: Kentico CMS 5.5, 5.5 R2