예제 #1
0
파일: User.cs 프로젝트: dekkerb115/Bam.Net
        public string GetPassword(string answer)
        {
            PasswordQuestion question = PasswordQuestionsByUserId.FirstOrDefault();
            string           result   = string.Empty;

            if (question == null)
            {
                Log.AddEntry("Unable to retrieve password for {0}, password question not set", UserName);
            }

            if (question.Answer.Equals(answer))
            {
                Password password = PasswordsByUserId.FirstOrDefault();
                if (password == null)
                {
                    Log.AddEntry("Unable to retrieve password for {0}, password not set", UserName);
                }

                result = Aes.Decrypt(password.Value);
            }
            else
            {
                Log.AddEntry("Unable to retrieve password for {0}, invalid password ", UserName);
            }
            return(result);
        }
예제 #2
0
파일: User.cs 프로젝트: dekkerb115/Bam.Net
        public bool ChangePasswordQuestionAndAnswer(string password, string newPasswordQuestion, string newPasswordAnswer)
        {
            Password pass   = PasswordsByUserId.FirstOrDefault();
            bool     result = false;

            if (pass == null)
            {
                Log.AddEntry("Unable to change password question and answer, user password was not set");
            }
            else
            {
                string decrypted = Aes.Decrypt(pass.Value);
                if (decrypted.Equals(password))
                {
                    PasswordQuestion question = PasswordQuestionsByUserId.FirstOrDefault();
                    if (question == null)
                    {
                        question = PasswordQuestionsByUserId.AddNew();
                    }

                    question.Value  = newPasswordQuestion;
                    question.Answer = newPasswordAnswer;
                    question.Save();

                    result = true;
                }
            }
            return(result);
        }
예제 #3
0
        private static PasswordQuestion CreateFromFilter(IQueryFilter filter, Database database = null)
        {
            Database db  = database ?? Db.For <PasswordQuestion>();
            var      dao = new PasswordQuestion();

            filter.Parameters.Each(p =>
            {
                dao.Property(p.ColumnName, p.Value);
            });
            dao.Save(db);
            return(dao);
        }
예제 #4
0
 public ActionResult Update(Bam.Net.UserAccounts.Data.PasswordQuestion dao)
 {
     try
     {
         dao.Save();
         return(Json(new { Success = true, Message = "", Dao = dao.ToJsonSafe() }));
     }
     catch (Exception ex)
     {
         return(GetErrorResult(ex));
     }
 }
예제 #5
0
 public ActionResult Delete(long id)
 {
     try
     {
         string msg = "";
         Bam.Net.UserAccounts.Data.PasswordQuestion dao = Bam.Net.UserAccounts.Data.PasswordQuestion.OneWhere(c => c.KeyColumn == id);
         if (dao != null)
         {
             dao.Delete();
         }
         else
         {
             msg = string.Format("The specified id ({0}) was not found in the table (PasswordQuestion)", id);
         }
         return(Json(new { Success = true, Message = msg, Dao = "" }));
     }
     catch (Exception ex)
     {
         return(GetErrorResult(ex));
     }
 }
예제 #6
0
파일: User.cs 프로젝트: dekkerb115/Bam.Net
        public string ResetPassword(string answer)
        {
            string result = string.Empty;

            PasswordQuestion question = PasswordQuestionsByUserId.FirstOrDefault();

            if (question == null)
            {
                Log.AddEntry("Unable to retrieve password for {0}, password question not set", UserName);
            }

            if (question.Answer.Equals(answer))
            {
                string newPassword = ResetPassword();
            }
            else
            {
                Log.AddEntry("Unable to retrieve password for {0}, invalid password ", UserName);
            }
            return(result);
        }
예제 #7
0
 public ActionResult Create(Bam.Net.UserAccounts.Data.PasswordQuestion dao)
 {
     return(Update(dao));
 }