コード例 #1
0
        public ActionResult Create(Person person)
        {
            if (ModelState.IsValid)
            {
                person.Password = EncryptionUtilities.CreatePasswordSalt(person.Password);

                db.People.Add(person);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(person));
        }
コード例 #2
0
        public ActionResult Login(Person person)
        {
            Person loginPerson = db.People.First(m => m.Username == person.Username);

            Logging myLogging = new Logging();

            myLogging.Date = TimeZoneInfo.ConvertTime(HttpContext.Timestamp, TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"));

            myLogging.Notes = $"Trying to logging username {person.Username} and password is {person.Password}";

            db.Loggings.Add(myLogging);
            db.SaveChanges();

            bool val = EncryptionUtilities.IsPasswordValid(person.Password, loginPerson.Password);

            if (val)
            {
                HttpCookie siteCookie  = new HttpCookie("SDNWebApps");
                var        accesspages = db.AccessPages.Where(m => m.PersonID == loginPerson.ID).Select(m => m.AccessPage1);
                bool       IsAdmin     = loginPerson.Role == "Admin";


                siteCookie.Values.Add("LoggedIn", person.Username);
                siteCookie.Values.Add("SDNID", loginPerson.ID.ToString());
                siteCookie.Values.Add("IsAdmin", IsAdmin.ToString());
                siteCookie.Values.Add("PageAccess", string.Join(",", accesspages.ToArray()));



                siteCookie.Expires = DateTime.Now.Date.AddDays(7);
                this.ControllerContext.HttpContext.Response.Cookies.Add(siteCookie);
                var session = HttpContext.Session;


                //return RedirectToAction("Index", "Default", new { area = ""});

                if (session.Keys.Count > 0)
                {
                    return(Redirect(session["url"].ToString()));
                }
            }
            else
            {
                return(View());
            }


            return(View());
        }
コード例 #3
0
        public ActionResult Edit(Person person)
        {
            if (ModelState.IsValid)
            {
                //if(person.SaltHash.Length.Equals(0))
                //    person.SaltHash = GenerateSaltValue();

                person.Password = EncryptionUtilities.CreatePasswordSalt(person.Password);

                db.Entry(person).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(person));
        }