protected override void OnInit(EventArgs e) { base.OnInit(e); TextMode = TextBoxMode.MultiLine; Rows = 10; Columns = 70; htmlEncode = WebConfigSettings.CKeditorEncodeBrackets; if (SiteRoot.StartsWith("~/")) { SiteRoot = ResolveUrl(SiteRoot); } if (DisableViewState) { EnableViewState = false; } }
private void SignInUser(SiteUser user, bool isNewUser) { if ( (siteSettings.UseSecureRegistration) && (user.RegisterConfirmGuid != Guid.Empty) ) { Notification.SendRegistrationConfirmationLink( SiteUtils.GetSmtpSettings(), ResourceHelper.GetMessageTemplate("RegisterConfirmEmailMessage.config"), siteSettings.DefaultEmailFromAddress, siteSettings.DefaultFromEmailAlias, user.Email, siteSettings.SiteName, SiteRoot + "/ConfirmRegistration.aspx?ticket=" + user.RegisterConfirmGuid.ToString()); log.Info("User " + user.Name + " tried to login but email address is not confirmed."); lblError.Text = Resource.RegistrationRequiresEmailConfirmationMessage; litInfoNeededMessage.Visible = false; pnlRequiredProfileProperties.Visible = false; btnCreateUser.Visible = false; return; } if (user.IsLockedOut) { log.Info("User " + user.Name + " tried to login but account is locked."); lblError.Text = Resource.LoginAccountLockedMessage; return; } if ((siteSettings.RequireApprovalBeforeLogin) && (!user.ApprovedForLogin)) { log.Info("User " + user.Name + " tried to login but account is not approved yet."); lblError.Text = Resource.LoginNotApprovedMessage; return; } if (siteSettings.UseEmailForLogin) { FormsAuthentication.SetAuthCookie(user.Email, true); } else { FormsAuthentication.SetAuthCookie(user.LoginName, true); } if (WebConfigSettings.UseFolderBasedMultiTenants) { string cookieName = "siteguid" + siteSettings.SiteGuid; CookieHelper.SetCookie(cookieName, user.UserGuid.ToString(), true); } if (user.UserId > -1 && siteSettings.AllowUserSkins && user.Skin.Length > 0) { SiteUtils.SetSkinCookie(user); } user.UpdateLastLoginTime(); // track user ip address UserLocation userLocation = new UserLocation(user.UserGuid, SiteUtils.GetIP4Address()); userLocation.SiteGuid = siteSettings.SiteGuid; userLocation.Hostname = Request.UserHostName; userLocation.Save(); UserSignInEventArgs u = new UserSignInEventArgs(user); OnUserSignIn(u); if (CookieHelper.CookieExists(returnUrlCookieName)) { returnUrl = CookieHelper.GetCookieValue(returnUrlCookieName); CookieHelper.ExpireCookie(returnUrlCookieName); } string requestedReturnUrl = SiteUtils.GetReturnUrlParam(Page, SiteRoot); returnUrl = requestedReturnUrl; if (isNewUser) { if (WebConfigSettings.PageToRedirectToAfterRegistration.Length > 0) { returnUrl = SiteRoot + WebConfigSettings.PageToRedirectToAfterRegistration; } } if (String.IsNullOrEmpty(returnUrl) || returnUrl.Contains("AccessDenied") || returnUrl.Contains("Login") || returnUrl.Contains("SignIn") || returnUrl.Contains("ConfirmRegistration.aspx") || returnUrl.Contains("OpenIdRpxHandler.aspx") || returnUrl.Contains("RecoverPassword.aspx") || returnUrl.Contains("Register") ) { returnUrl = SiteRoot; } if (returnUrl.Length > 0) { if (SiteUtils.IsSecureRequest()) { if (returnUrl.StartsWith("http:")) { returnUrl = returnUrl.Replace("http:", "https:"); } } WebUtils.SetupRedirect(this, returnUrl); return; } if (SiteUtils.IsSecureRequest()) { if (SiteRoot.StartsWith("http:")) { WebUtils.SetupRedirect(this, SiteRoot.Replace("http:", "https:")); return; } } WebUtils.SetupRedirect(this, SiteRoot); return; }