private void Login1_LoggedIn(object sender, EventArgs e) { // ScreenLock - unlock screen IsScreenLocked = false; // Ensure response cookie CookieHelper.EnsureResponseCookie(FormsAuthentication.FormsCookieName); // Set cookie expiration if (Login1.RememberMeSet) { CookieHelper.ChangeCookieExpiration(FormsAuthentication.FormsCookieName, DateTime.Now.AddYears(1), false); } else { // Extend the expiration of the authentication cookie if required if (!AuthenticationHelper.UseSessionCookies && (HttpContext.Current != null) && (HttpContext.Current.Session != null)) { CookieHelper.ChangeCookieExpiration(FormsAuthentication.FormsCookieName, DateTime.Now.AddMinutes(Session.Timeout), false); } } // Current username string userName = Login1.UserName; // Get info on the authenticated user UserInfo ui = UserInfo.Provider.Get(userName); // Check whether safe user name is required and if so get safe username if (ui == null && AuthenticationMode.IsMixedAuthentication() && UserInfoProvider.UseSafeUserName) { userName = ValidationHelper.GetSafeUserName(userName, SiteContext.CurrentSiteName); AuthenticationHelper.AuthenticateUser(userName, Login1.RememberMeSet); } // Set culture CMSDropDownList drpCulture = (CMSDropDownList)Login1.FindControl("drpCulture"); if (drpCulture != null) { string selectedCulture = drpCulture.SelectedValue; // Not the default culture if (selectedCulture != "") { // Update the user if (ui != null) { ui.PreferredUICultureCode = selectedCulture; UserInfo.Provider.Set(ui); } // Update current user MembershipContext.AuthenticatedUser.PreferredUICultureCode = selectedCulture; } } URLHelper.LocalRedirect(ReturnUrl); }
/// <summary> /// Logged in handler. /// </summary> private void loginElem_LoggedIn(object sender, EventArgs e) { // Set view mode to live site after login to prevent bar with "Close preview mode" PortalContext.ViewMode = ViewModeEnum.LiveSite; // Ensure response cookie CookieHelper.EnsureResponseCookie(FormsAuthentication.FormsCookieName); // Set cookie expiration if (loginElem.RememberMeSet) { CookieHelper.ChangeCookieExpiration(FormsAuthentication.FormsCookieName, DateTime.Now.AddYears(1), false); } else { // Extend the expiration of the authentication cookie if required if (!AuthenticationHelper.UseSessionCookies && (HttpContext.Current != null) && (HttpContext.Current.Session != null)) { CookieHelper.ChangeCookieExpiration(FormsAuthentication.FormsCookieName, DateTime.Now.AddMinutes(Session.Timeout), false); } } // Current username string userName = loginElem.UserName; // Get user name (test site prefix too) UserInfo ui = UserInfoProvider.GetUserInfoForSitePrefix(userName, SiteContext.CurrentSite); // Check whether safe user name is required and if so get safe username if (AuthenticationMode.IsMixedAuthentication() && UserInfoProvider.UseSafeUserName) { // User stored with safe name userName = ValidationHelper.GetSafeUserName(loginElem.UserName, SiteContext.CurrentSiteName); // Find user by safe name ui = UserInfoProvider.GetUserInfoForSitePrefix(userName, SiteContext.CurrentSite); if (ui != null) { // Authenticate user by site or global safe username AuthenticationHelper.AuthenticateUser(ui.UserName, loginElem.RememberMeSet); } } // Log activity (warning: CMSContext contains info of previous user) if (ui != null) { // If user name is site prefixed, authenticate user manually if (UserInfoProvider.IsSitePrefixedUser(ui.UserName)) { AuthenticationHelper.AuthenticateUser(ui.UserName, loginElem.RememberMeSet); } // Log activity Service.Resolve <IMembershipActivityLogger>().LogLogin(ui.UserName, DocumentContext.CurrentDocument); } // Redirect user to the return URL, or if is not defined redirect to the default target URL var redirectUrl = RequestContext.CurrentURL; string url = QueryHelper.GetString("ReturnURL", String.Empty); if (!String.IsNullOrEmpty(url) && URLHelper.IsLocalUrl(url)) { redirectUrl = url; } else if (!String.IsNullOrEmpty(DefaultTargetUrl)) { redirectUrl = ResolveUrl(DefaultTargetUrl); } URLHelper.Redirect(redirectUrl); }