/// <summary> /// Validazione della password per il processo di login dell'utente in una amministrazione /// </summary> /// <param name="idAmministrazione"></param> /// <param name="userId"></param> /// <param name="password"></param> /// <returns></returns> public static bool IsValidForLogon(string userId, string password, string codAmm) { //MEV utenti multi-amministrazione DocsPaDB.Query_DocsPAWS.UserPassword userPassword = new DocsPaDB.Query_DocsPAWS.UserPassword(userId, codAmm); return(userPassword.CheckPasswordEqualityInAmministrazione(EncryptPassword(password))); }
/// <summary> /// /// </summary> /// <param name="idAmministrazione"></param> /// <param name="userId"></param> /// <param name="password"></param> /// <param name="isAdminPassword"></param> /// <param name="force"> /// Se true, sono disabilitati i controlli sulla validità formale della password /// </param> /// <returns></returns> public static ValidationResultInfo SetPassword(int idAmministrazione, string userId, string password, bool isAdminPassword, bool force, string modulo = "") { ValidationResultInfo result = new ValidationResultInfo(); if (!isAdminPassword && DomainAuthenticationEnabled(idAmministrazione, userId)) { // La password non può essere modificata dall'utente qualora // per esso sia stata attivata l'autenticazione di dominio result.BrokenRules.Add(CreateBrokenRule("DOMAIN_AUTH_ENABLED", "La password non può essere modificata in quanto per l'utente è attivata l'autenticazione di dominio", BrokenRule.BrokenRuleLevelEnum.Error)); } else { //MEV utenti multi-amministrazione - aggiunto parametro idAmministrazione DocsPaDB.Query_DocsPAWS.UserPassword userPassword = new DocsPaDB.Query_DocsPAWS.UserPassword(userId, idAmministrazione.ToString()); if (!force) { // Verifica se la password immessa non sia uguale a quella attualmente impostata if (userPassword.CheckPasswordEquality(EncryptPassword(password))) { result.BrokenRules.Add(CreateBrokenRule("PASSWORD_EQUALITY", "La password deve essere differente rispetto a quella precedente", BrokenRule.BrokenRuleLevelEnum.Error)); } if (result.BrokenRules.Count == 0 && !idAmministrazione.Equals(ID_AMM_NULL)) { // Vengono effettuati i controlli di validità sulla password, // solo se l'utente è legato ad un'amministrazione (se non lo è, è un superadmin) result.BrokenRules.AddRange(CheckPasswordString(password, idAmministrazione).BrokenRules); } } if (result.BrokenRules.Count == 0) { try { //MEV utenti multi-amministrazione - aggiunto chiamata a nuovo metodo userPassword.SetPasswordForUserinAmm(EncryptPassword(password), modulo); } catch (Exception ex) { // Errore nell'impostazione della password result.BrokenRules.Add(CreateBrokenRule("SET_PASSWORD_ERROR", ex.Message, BrokenRule.BrokenRuleLevelEnum.Error)); } } } result.Value = (result.BrokenRules.Count == 0); return(result); }
/// <summary> /// Verifica se la password dell'utente è stata definita dall'utente stesso /// o dall'amministratore /// </summary> /// <param name="idAmministrazione"></param> /// <param name="userId"></param> /// <returns></returns> public static bool IsUserPassword(string userId) // int idAmministrazione { DocsPaDB.Query_DocsPAWS.UserPassword userPassword = new DocsPaDB.Query_DocsPAWS.UserPassword(userId); return(userPassword.IsUserPassword()); }
/// <summary> /// Impostazione dell'opzione "Nessuna scadenza password" per l'utente /// </summary> /// <param name="neverExpire"></param> /// <returns></returns> public static void SetPasswordNeverExpireOption(bool neverExpire, string userId) // int idAmministrazione { DocsPaDB.Query_DocsPAWS.UserPassword userPassword = new DocsPaDB.Query_DocsPAWS.UserPassword(userId); userPassword.SetPasswordNeverExpireOption(neverExpire); }
/// <summary> /// Reperimento del numero di giorni rimanenti di validità della password /// </summary> /// <param name="userId"></param> /// <returns></returns> public static int GetPasswordRemainingDays(string userId) { DocsPaDB.Query_DocsPAWS.UserPassword userPassword = new DocsPaDB.Query_DocsPAWS.UserPassword(userId); return(userPassword.GetPasswordRemainingDays()); }
/// <summary> /// Reperimento del giorno di scadenza della password per l'utente /// </summary> /// <param name="userId"></param> /// <returns></returns> public static DateTime GetPasswordExpirationDate(string userId) { DocsPaDB.Query_DocsPAWS.UserPassword userPassword = new DocsPaDB.Query_DocsPAWS.UserPassword(userId); return(userPassword.GetPasswordExpirationDate()); }
//MEV utenti multi-amministrazione /// <summary> /// Verifica se la password per l'utente di un'amministrazione è scaduta /// </summary> /// <remarks> /// La password è considerata automaticamente scaduta nel /// caso in cui la password è stata impostata dall'amministratore /// </remarks> /// <param name="idAmministrazione"></param> /// <param name="userId"></param> /// <returns></returns> public static bool IsPasswordExpired(string userId, string codAmm) { DocsPaDB.Query_DocsPAWS.UserPassword userPassword = new DocsPaDB.Query_DocsPAWS.UserPassword(userId, codAmm); return(userPassword.IsPasswordUserInAmmExpired()); }
/// <summary> /// Verifica se la password per l'utente è scaduta /// </summary> /// <remarks> /// La password è considerata automaticamente scaduta nel /// caso in cui la password è stata impostata dall'amministratore /// </remarks> /// <param name="idAmministrazione"></param> /// <param name="userId"></param> /// <returns></returns> public static bool IsPasswordExpired(string userId) { DocsPaDB.Query_DocsPAWS.UserPassword userPassword = new DocsPaDB.Query_DocsPAWS.UserPassword(userId); // idAmministrazione); return(userPassword.IsPasswordExpired()); }