コード例 #1
0
ファイル: AccountModels.cs プロジェクト: Pavlo7/AEVIProject
        // смена пароля в БД
        public bool ChangePassword(string login, string oldPassword, string newPassword)
        {
            STUser data = new STUser();
            string msg;
            CUser  clUser = new CUser(LocalData.UserId(), LocalData.CSDbUsers(), LocalData.LogPath());
            // находим юзера в БД по логину
            int ret = clUser.GetRecordByUserLogin(login, out data, out msg);

            if (ret != 0)
            {
                return(false);
            }

            // соль
            string passwordsalt = CreateSalt();
            // кодируем пароль
            string password = CreatePasswordHash(newPassword, passwordsalt);
            // дата действия пароля 6 месяцев
            DateTime passvaliddate = DateTime.Now.AddMonths(6);;

            // делаем изменения в БД
            int retvalue = clUser.UpdatePassword(data.userid, password, passwordsalt, passvaliddate, out msg);

            if (retvalue != 0)
            {
                return(false);
            }

            // добавляем пароль в кэш паорелей в БД
            STPassCache pc = new STPassCache();

            pc.password     = password;
            pc.passwordsalt = passwordsalt;
            clUser.AddPassToPassCache(login, pc, out msg);

            return(true);
        }