示例#1
0
        public CResultAErreur ChangePassword(string strOldPassword, string strNewPassword)
        {
            CResultAErreur result = CResultAErreur.True;

            if (CUtilUtilisateur.UtilisateurConnecteIsUserManager(ContexteDonnee))
            {
                Password = C2iCrypto.Crypte(strNewPassword.Trim());
            }
            else
            {
                if (CUtilUtilisateur.UtilisateurActuel(ContexteDonnee).Id == Acteur.Id)
                {
                    if (VerifiePassword(strOldPassword))
                    {
                        Password = C2iCrypto.Crypte(strNewPassword.Trim());
                    }
                    else
                    {
                        result.EmpileErreur(I.T("Invalid old password, only the administrator or the holder of the old password is authorized to modify it|30029"));
                    }
                }
                else
                {
                    result.EmpileErreur(I.T("Only the user or an administrator is entitled to modify the password|30028"));
                }
            }

            return(result);
        }
示例#2
0
        public CResultAErreur VerifiePassword(string strPassword)
        {
            CResultAErreur result = CResultAErreur.True;

            string strCrypte = C2iCrypto.Crypte(strPassword.Trim());

            if (strCrypte != Password || (((strCrypte.Length % 2048) + 1) != Acteur.Datas))
            {
                result.EmpileErreur(I.T("Invalid password !|30030"));
            }

            return(result);
        }
        public CResultAErreur IsUserValide(string strLogin, string strMdp)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                if (strLogin.Trim() == "" || strMdp.Trim() == "")
                {
                    result.EmpileErreur(I.T("Invalid user name or password |3"));
                }
                else
                {
                    using (CContexteDonnee contexte = new CContexteDonnee(m_session.IdSession, true, false))
                    {
                        string strPassCrypte = C2iCrypto.Crypte(strMdp);
                        CDonneesActeurUtilisateur donnees = new CDonneesActeurUtilisateur(contexte);
                        if (donnees.ReadIfExists(new CFiltreData(CDonneesActeurUtilisateur.c_champLogin + "=@1 and " +
                                                                 CDonneesActeurUtilisateur.c_champPassword + "=@2",
                                                                 strLogin, strPassCrypte)) && donnees.VerifiePassword(strMdp))
                        {
                            result.Data = donnees;
                            return(result);
                        }
                        else
                        {
                            result.EmpileErreur(I.T("Login error |4"));
                        }
                    }
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(I.T("Login error |4"));
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
        /// ///////////////////////////////////////////////////
        #region OLD
        protected CResultAErreur CanOpenSessionLoginPasswordMAC(CSessionClient session)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CAuthentificationSessionLoginPasswordMAC auth = (CAuthentificationSessionLoginPasswordMAC)session.Authentification;
                if (auth.Login.Trim() == "" || auth.Password.Trim() == "")
                {
                    result.EmpileErreur(I.T("Invalid user name or password |3"));
                }
                else
                {
                    using (CContexteDonnee contexte = new CContexteDonnee(m_session.IdSession, true, false))
                    {
                        string strPassCrypte = C2iCrypto.Crypte(auth.Password);
                        CDonneesActeurUtilisateur donnees = new CDonneesActeurUtilisateur(contexte);
                        if (donnees.ReadIfExists(new CFiltreData(CDonneesActeurUtilisateur.c_champLogin + "=@1 and " +
                                                                 CDonneesActeurUtilisateur.c_champPassword + "=@2",
                                                                 auth.Login, strPassCrypte)) && donnees.VerifiePassword(auth.Password))
                        {
                            return(InitialiserSessionCliente(session, donnees));
                        }
                        else
                        {
                            result.EmpileErreur(I.T("Invalid user name or password |3"));
                        }
                    }
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(I.T("Login error |4"));
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }