Esempio n. 1
0
        public async Task <IActionResult> Login(AuthorizationVM model)
        {
            try
            {
                if (HttpContext.User.Identity.IsAuthenticated)
                {
                    return(RedirectToAction("Index", "Home"));
                }


                if (ModelState.IsValid)
                {
                    //model.Password = GethashPassword(model.Password);
                    User user = new User();

                    if (user.AuthUser(model.Login, model.Password))
                    {
                        await Authenticate(user.Login, user.ID_USER.ToString()); // аутентификация

                        return(RedirectToAction("Orders", "Home"));
                    }
                    ModelState.AddModelError("", "Некорректные логин и(или) пароль");
                }
            }
            catch (Exception e) { ViewData["Message"] = e.Message; }

            return(View(model));
        }
Esempio n. 2
0
 public ActionResult <AuthorizationVM> GetAuthorizationByUserID(string ID)
 {
     try
     {
         Dictionary <string, IEnumerable <string> > data = _userService.GetAuthorizationByUserID(ID);
         IEnumerable <string> roles       = data.GetValueOrDefault("role");
         IEnumerable <string> groups      = data.GetValueOrDefault("group");
         IEnumerable <string> permissions = data.GetValueOrDefault("permission");
         AuthorizationVM      result      = new AuthorizationVM();
         result.Roles       = roles;
         result.Groups      = groups;
         result.Permissions = permissions;
         return(Ok(result));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Esempio n. 3
0
        public ActionResult Login(Account user, string ReturnUrl)  //Autoryzacja Logownie
        {
            var             url = ViewBag.ReturnUrl;
            AuthorizationVM avm = new AuthorizationVM();

            using (DAL.DB db = new DAL.DB())
            {
                //var tym = Encrypt.GetHash(user.password);
                var userdeatils = db.Accounts.Where(x => x.Login == user.Login && x.Password == user.Password).FirstOrDefault();
                if (userdeatils == null)
                {
                    ViewBag.LoginErrorMessage = "Niepoprawny login lub hasło";
                    return(View("Login", user));
                }
                else
                {
                    if (userdeatils.Active == false)
                    {
                        ViewBag.LoginErrorMessage = "Konto nie aktywowane";
                        return(View("Login", user));
                    }

                    ///
                    int         licznik;
                    List <Book> tmp = (List <Book>)Session["Zamowienie"];
                    if (tmp != null)
                    {
                        licznik = tmp.Count();
                    }
                    else
                    {
                        licznik = 0;
                    }

                    Session["Licznik"] = licznik;
                    ///
                    Session["adminID"] = userdeatils.AccountID;

                    Session["login"] = userdeatils.Login;

                    if (userdeatils.Role == Role.Admin)
                    {
                        Session["IsAdmin"] = 1; // jest adminem
                    }
                    else if (userdeatils.Role == Role.Worker)
                    {
                        Session["IsAdmin"] = 2; // jest pracownikiem
                    }
                    else
                    {
                        Session["IsAdmin"] = 3; // jest czytaczem
                    }

                    FormsAuthentication.SetAuthCookie(user.Login, false);

                    if (Url.IsLocalUrl(ReturnUrl))
                    {
                        return(Redirect(ReturnUrl));
                    }
                    else
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                }
            }
        }