/// <summary> /// Verifica della validità formale della password /// </summary> /// <param name="password"></param> /// <param name="idAmministrazione"></param> /// <returns></returns> private static ValidationResultInfo CheckPasswordString(string password, int idAmministrazione) { ValidationResultInfo result = new ValidationResultInfo(); // Verifica della presenza di caratteri non validi if (!CheckPasswordInvalidChars(password)) { result.BrokenRules.Add(CreateBrokenRule("PASSWORD_INVALID_CHARS", "La password contiene caratteri non ammessi", BrokenRule.BrokenRuleLevelEnum.Error)); } // Verifica della lunghezza della password fornita DocsPaVO.amministrazione.PasswordConfigurations config = AdminPasswordConfigServices.GetPasswordConfigurations(idAmministrazione); if (password.Length < config.MinLength) { result.BrokenRules.Add(CreateBrokenRule("PASSWORD_LENGHT", string.Format("La lunghezza della password deve essere di almeno {0} caratteri", config.MinLength.ToString()), BrokenRule.BrokenRuleLevelEnum.Error)); } // Verifica la presenza di caratteri speciali obbligatori if (config.SpecialCharacters.Length > 0 && password.IndexOfAny(config.SpecialCharacters) == -1) { result.BrokenRules.Add(CreateBrokenRule("PASSWORD_REQUIRED_SPECIAL_CHARS", string.Format("La password deve contenere almeno uno tra i seguenti caratteri speciali:{0}", " " + new string(config.SpecialCharacters)), BrokenRule.BrokenRuleLevelEnum.Error)); } //result.BrokenRules.Add(CreateBrokenRule("PASSWORD_REQUIRED_SPECIAL_CHARS", "La password deve contenere almeno uno tra i caratteri speciali previsti in amministrazione", BrokenRule.BrokenRuleLevelEnum.Error)); return(result); }
//MEV utenti multi-amministrazione /// <summary> /// Reperimento dati di configurazione delle password per l'utente appartenente ad un'amministrazione /// </summary> /// <returns></returns> protected DocsPaVO.amministrazione.PasswordConfigurations GetUserAdminPasswordConfig() { if (this._passwordConfigurations == null) { this._passwordConfigurations = AdminPasswordConfig.GetPasswordConfigurations(this.UserId, this.IdAmministrazione); } return(this._passwordConfigurations); }