Ejemplo n.º 1
0
        public ActionResult Login(LoginModel model)
        {
            if (ModelState.IsValid)
            {
                // поиск пользователя в бд
                TBuyer user = null;
                using (ToyStoreAccessContext db = new ToyStoreAccessContext())
                {
                    user = db.TBuyers.FirstOrDefault(u => u.Firstname == model.Name && u.Password == model.Password);


                    if (user != null)
                    {
                        HttpContext.Response.Cookies["idBuyer"].Value = user.idBuyer.ToString();
                    }

                    HttpContext.Response.Cookies["idBuyer"].Expires = DateTime.Now.AddYears(1);
                }
                if (user != null)
                {
                    FormsAuthentication.SetAuthCookie(model.Name, true);
                    return(Redirect("/Home/index"));
                }
                else
                {
                    ModelState.AddModelError("", "Пользователя с таким логином и паролем нет");
                }
            }

            return(View(model));
        }
Ejemplo n.º 2
0
        public override void CreateRole(string roleName)
        {
            TRole newRole = new TRole()
            {
                Name = roleName
            };
            ToyStoreAccessContext db = new ToyStoreAccessContext();

            db.TRoles.Add(newRole);
            db.SaveChanges();
        }
Ejemplo n.º 3
0
 public override string[] GetRolesForUser(string username)
 {
     string[] role = new string[] { };
     using (ToyStoreAccessContext db = new ToyStoreAccessContext())
     {
         // Получаем пользователя
         TBuyer user = db.TBuyers.FirstOrDefault(u => u.Firstname == username);
         if (user != null)
         {
             // получаем роль
             TRole userRole = db.TRoles.Find(user.C_TRole);
             if (userRole != null)
             {
                 role = new string[] { userRole.Name }
             }
             ;
         }
     }
     return(role);
 }
Ejemplo n.º 4
0
        public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                TBuyer user = null;
                using (ToyStoreAccessContext db = new ToyStoreAccessContext())
                {
                    user = db.TBuyers.FirstOrDefault(u => u.Firstname == model.Name);
                }
                if (user == null)
                {
                    // создаем нового пользователя
                    using (ToyStoreAccessContext db = new ToyStoreAccessContext())
                    {
                        db.TBuyers.Add(new TBuyer {
                            Firstname = model.Name, Password = model.Password, Email = model.Email, C_TRole = 4
                        });
                        db.SaveChanges();

                        user = db.TBuyers.Where(u => u.Firstname == model.Name && u.Password == model.Password).FirstOrDefault();
                    }
                    // если пользователь удачно добавлен в бд
                    if (user != null)
                    {
                        FormsAuthentication.SetAuthCookie(model.Name, true);
                        HttpContext.Response.Cookies["idBuyer"].Value   = user.idBuyer.ToString();
                        HttpContext.Response.Cookies["idBuyer"].Expires = DateTime.Now.AddYears(1);

                        return(Redirect("/Home/index"));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Пользователь с таким логином уже существует");
                }
            }

            return(View(model));
        }
Ejemplo n.º 5
0
        public override bool IsUserInRole(string username, string roleName)
        {
            bool outputResult = false;

            // Находим пользователя
            using (ToyStoreAccessContext db = new ToyStoreAccessContext())
            {
                // Получаем пользователя
                TBuyer user = db.TBuyers.FirstOrDefault(u => u.Firstname == username);
                if (user != null)
                {
                    // получаем роль
                    TRole userRole = db.TRoles.Find(user.C_TRole);
                    //сравниваем
                    if (userRole != null && userRole.Name == roleName)
                    {
                        outputResult = true;
                    }
                }
            }
            return(outputResult);
        }