예제 #1
0
        /*
         * // авторизация пользователя по логину и хешу пароля
         * public String LoginUserMd5(String Login, String Password_md5)
         * {
         *  Debug.Info("Call LoginUser Login ="******"Пользователь с таким логином и паролем не найден", TypeException.InvalidLoginOrPassword);
         *      }
         *      else
         *      {
         *          user.SessionKey = Guid.NewGuid();
         *          db.SaveChanges();
         *          return user.SessionKey.ToString();
         *      }
         *  }
         * }*/

        // авторизация пользователя по логину и паролю
        public String LoginUser(String Login, String Password)
        {
            using (var db = new DataBase())
            {
                var user = db.Admins.Where(u => u.Login == Login).SingleOrDefault();
                if (user == null)
                {
                    throw new uniJudgeException("Пользователь с таким логином и паролем не найден", TypeException.InvalidLoginOrPassword);
                }
                else
                {
                    // теперь сверим пароли
                    if (user.Password_SaltAndHash == HashMd5.getMd5Hash(Password + user.PasswordSalt))
                    {
                        if (user.AllowAccessToAdminPanel == false)
                        {
                            throw new uniJudgeException("Запрещен доступ к админ панели", TypeException.AccessDenided);
                        }

                        user.SessionKey = Guid.NewGuid();
                        db.SaveChanges();
                        return(user.SessionKey.ToString());
                    }
                    else
                    {
                        throw new uniJudgeException("Пользователь с таким логином и паролем не найден", TypeException.InvalidLoginOrPassword);
                    }
                }
            }
        }
예제 #2
0
        public String CreateNewPasswordUseble(String SessionKey, int AdminId, string pass)
        {
            CheckSession(SessionKey);
            using (var db = new DataBase())
            {
                var admin   = db.Admins.Where(u => u.Id == AdminId).Single();
                var newPass = pass.Length >= 6 ? pass : Guid.NewGuid().ToString().Substring(0, 13);  // новый парль - это Guid в котором были взять первые 13 символов

                admin.PasswordSalt         = Guid.NewGuid().ToString();
                admin.Password_SaltAndHash = HashMd5.getMd5Hash(newPass + admin.PasswordSalt);

                db.SaveChanges();

                return(newPass);
            }
        }
예제 #3
0
        public String CreateNewUserPassword(String SessionKey, int UserId, String pass)
        {
            CheckSession(SessionKey);
            using (var db = new DataBase())
            {
                var user    = db.Users.Where(u => u.Id == UserId).Single();
                var newPass = pass.Length >= 6 ? pass : Guid.NewGuid().ToString().Substring(0, 13); // новый парль - это Guid в котором были взять первые 13 символов

                user.PasswordEncrypted    = WCFServices.ServiceHelper.Crypt.Encrypt(newPass, Properties.Settings.Default.KeyForPasswordEncrypt);
                user.PasswordSalt         = Guid.NewGuid().ToString();
                user.Password_SaltAndHash = HashMd5.getMd5Hash(newPass + user.PasswordSalt);

                db.SaveChanges();

                return(newPass);
            }
        }
        protected void RegisterUser_CreatedUser(object sender, EventArgs e)
        {
            Compte compte = new Compte();

            //Récupérer informations saisies
            String nom    = this.TextBoxNom.Text;
            String prenom = this.TextBoxPrenom.Text;
            String email  = this.Email.Text;
            String login  = this.UserName.Text;
            String mdp    = HashMd5.getMd5Hash(Password.Text);

            try
            {
                compte.creerCompte(nom, prenom, email, login, mdp);

                Response.Redirect("~/pages/Account/Login.aspx");
            }
            catch (Exception)
            {
                ErrorMessage.Text = "L'utilisateur n'a pas pu être créé";
            }
        }
        protected void VerifierConnection_Click(object sender, EventArgs e)
        {
            Compte compte = new Compte();

            if (compte.getPassword(UserName.Text, HashMd5.getMd5Hash(Password.Text)))
            {
                DataTable dt = compte.getInformationsPersonne(UserName.Text);

                Session["connecte"]       = "true";
                Session["personnePrenom"] = dt.Rows[0].ItemArray.GetValue(1).ToString();
                Session["personneNom"]    = dt.Rows[0].ItemArray.GetValue(0).ToString();
                Session["personneEmail"]  = dt.Rows[0].ItemArray.GetValue(5).ToString();
                Session["personneLogin"]  = dt.Rows[0].ItemArray.GetValue(2).ToString();
                Session["personneID"]     = dt.Rows[0].ItemArray.GetValue(4).ToString();

                Response.Redirect("~/");
            }
            else
            {
                FailureText.Text = "L'identification a échoué";
            }
        }