Example #1
0
        /// <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)));
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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());
        }
Example #4
0
        /// <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);
        }
Example #5
0
        /// <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());
        }
Example #6
0
        /// <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());
        }
Example #7
0
        //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());
        }
Example #8
0
        /// <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());
        }