/// <summary> /// Adds captcha to the container's control collection. /// </summary> /// <param name="container">The control that will contain the Captcha.</param> /// <param name="controlID">The id of the CaptchaControl.</param> /// <param name="validationGroup">The name of the group of controls that is validated on validation.</param> /// <param name="renderScript">bool tell if scripts need to rendered or not.</param> /// <returns>IValidator control which the rad captcha control</returns> public static IValidator RenderCaptcha(Control container, String controlID, String validationGroup, bool renderScript = false) { #if TELERIKWEBUI var radCaptcha = new Telerik.Web.UI.RadCaptcha { ID = string.IsNullOrWhiteSpace(controlID) ? DefaultControlID : controlID, ValidationGroup = validationGroup, ErrorMessage = ErrorMessage, Display = ValidatorDisplay.None, EnableRefreshImage = true, OnClientLoad = "radcaptcha.onClientLoad", CaptchaTextBoxLabel = ResourceManager.GetString("CaptchaTextBoxLabel"), CaptchaAudioLinkButtonText = ResourceManager.GetString("CaptchaAudioLinkButtonText"), CaptchaLinkButtonText = ResourceManager.GetString("CaptchaLinkButtonText"), EnableDownloadAudio = false }; radCaptcha.CaptchaImage.EnableCaptchaAudio = true; radCaptcha.CaptchaImage.AudioFilesPath = AudioFilesPath; container.Controls.Add(radCaptcha); if (container.Page != null && renderScript) { RenderRadCaptchaScript(container.Page); } return(radCaptcha); #else ADXTrace.Instance.TraceWarning(TraceCategory.Application, "Captcha is enabled; however, Telerik.Web.UI.dll could not be found."); return(null); #endif }
private void PopulateControls() { if (siteSettings == null) { return; } if (siteSettings.DisableDbAuth) { this.Visible = false; return; } LoginCtrl.SetRedirectUrl = true; txtUserName = (TextBox)this.LoginCtrl.FindControl("UserName"); txtPassword = (TextBox)this.LoginCtrl.FindControl("Password"); chkRememberMe = (CheckBox)this.LoginCtrl.FindControl("RememberMe"); lnkRecovery = (HyperLink)this.LoginCtrl.FindControl("lnkPasswordRecovery"); divCaptcha = (Panel)LoginCtrl.FindControl("divCaptcha"); captcha = (Telerik.Web.UI.RadCaptcha)LoginCtrl.FindControl("captcha"); btnLogin = (Button)this.LoginCtrl.FindControl("Login"); if (!siteSettings.RequireCaptchaOnLogin) { if (divCaptcha != null) { divCaptcha.Visible = false; } if (captcha != null) { captcha.Enabled = false; } } if (lnkRecovery.Visible) { lnkRecovery.Visible = ((siteSettings.AllowPasswordRetrieval || siteSettings.AllowPasswordReset) && (!siteSettings.UseLdapAuth || (siteSettings.UseLdapAuth && siteSettings.AllowDbFallbackWithLdap))); lnkRecovery.NavigateUrl = this.LoginCtrl.PasswordRecoveryUrl; } if (chkRememberMe.Visible) { chkRememberMe.Visible = siteSettings.AllowPersistentLogin; } }
private void PopulateControls() { if (siteSettings == null) { return; } if (siteSettings.DisableDbAuth) { this.Visible = false; return; } LoginCtrl.SetRedirectUrl = setRedirectUrl; lblUserID = (SiteLabel)this.LoginCtrl.FindControl("lblUserID"); lblEmail = (SiteLabel)this.LoginCtrl.FindControl("lblEmail"); txtUserName = (TextBox)this.LoginCtrl.FindControl("UserName"); txtPassword = (TextBox)this.LoginCtrl.FindControl("Password"); chkRememberMe = (CheckBox)this.LoginCtrl.FindControl("RememberMe"); btnLogin = (Button)this.LoginCtrl.FindControl("Login"); lnkRecovery = (HyperLink)this.LoginCtrl.FindControl("lnkPasswordRecovery"); lnkExtraLink = (HyperLink)this.LoginCtrl.FindControl("lnkRegisterExtraLink"); divCaptcha = (Panel)LoginCtrl.FindControl("divCaptcha"); captcha = (Telerik.Web.UI.RadCaptcha)LoginCtrl.FindControl("captcha"); if (!siteSettings.RequireCaptchaOnLogin) { if (divCaptcha != null) { divCaptcha.Visible = false; } if (captcha != null) { captcha.Enabled = false; } } //else //{ // captcha.ProviderName = siteSettings.CaptchaProvider; // captcha.RecaptchaPrivateKey = siteSettings.RecaptchaPrivateKey; // captcha.RecaptchaPublicKey = siteSettings.RecaptchaPublicKey; //} // Remove 2015-01-06 if ((siteSettings.UseEmailForLogin) && (!siteSettings.UseLdapAuth)) { if (!WebConfigSettings.AllowLoginWithUsernameWhenSiteSettingIsUseEmailForLogin) { RegularExpressionValidator regexEmail = new RegularExpressionValidator(); regexEmail.ControlToValidate = txtUserName.ID; regexEmail.SetFocusOnError = true; //regexEmail.ValidationExpression = @"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$"; regexEmail.ValidationExpression = SecurityHelper.RegexEmailValidationPattern; regexEmail.ErrorMessage = Resource.LoginFailedInvalidEmailFormatMessage; regexEmail.ToolTip = Resource.LoginFailedInvalidEmailFormatMessage; regexEmail.Display = ValidatorDisplay.Dynamic; regexEmail.CssClass = "alert alert-danger"; regexEmail.SkinID = "LoginValidator"; this.LoginCtrl.Controls.Add(regexEmail); } } if (siteSettings.UseEmailForLogin && !siteSettings.UseLdapAuth) { this.lblUserID.Visible = false; this.txtUserName.Attributes.Add("placeholder", Resource.SignInEmailLabel); lblEnterUsernamePassword.Text = string.Format(Resource.SignInEnterUsernamePasswordFormat, Resource.SignInEmailLabel); } else { this.lblEmail.Visible = false; this.txtUserName.Attributes.Add("placeholder", Resource.ManageUsersLoginNameLabel); lblEnterUsernamePassword.Text = string.Format(Resource.SignInEnterUsernamePasswordFormat, Resource.ManageUsersLoginNameLabel); } this.txtPassword.Attributes.Add("placeholder", Resource.SignInPasswordLabel); if (setFocus) { txtUserName.Focus(); } lnkRecovery.Visible = ((siteSettings.AllowPasswordRetrieval || siteSettings.AllowPasswordReset) && (!siteSettings.UseLdapAuth || (siteSettings.UseLdapAuth && siteSettings.AllowDbFallbackWithLdap))); lnkRecovery.NavigateUrl = this.LoginCtrl.PasswordRecoveryUrl; lnkRecovery.Text = this.LoginCtrl.PasswordRecoveryText; lnkExtraLink.NavigateUrl = siteRoot + "/Secure/Register.aspx"; if (lnkExtraLink.Text.Length == 0) { lnkExtraLink.Text = Resource.RegisterLink; } lnkExtraLink.Visible = siteSettings.AllowNewRegistration; string returnUrlParam = Page.Request.Params.Get("returnurl"); if (!String.IsNullOrEmpty(returnUrlParam)) { //string redirectUrl = returnUrlParam; lnkExtraLink.NavigateUrl += "?returnurl=" + returnUrlParam; } chkRememberMe.Visible = siteSettings.AllowPersistentLogin; if (chkRememberMe.Text.Length == 0) { chkRememberMe.Text = this.LoginCtrl.RememberMeText; } btnLogin.Text = this.LoginCtrl.LoginButtonText; SiteUtils.SetButtonAccessKey(btnLogin, AccessKeys.LoginAccessKey); }