Exemple #1
0
        public static void SetLogiraniKorisnik(this HttpContext context, KorisnickiNalog korisnik, bool snimiUCookie = false)
        {
            //context.Session.Set(LogiraniKorisnik, korisnik);

            //if (snimiUCookie)
            //{
            //    context.Response.SetCookieJson(LogiraniKorisnik, korisnik);
            //}
            //else
            //{
            //    context.Response.SetCookieJson(LogiraniKorisnik, null);
            //}

            BrzaPostaDbContext db = context.RequestServices.GetService <BrzaPostaDbContext>();

            string stariToken = context.Request.GetCookieJson <string>(LogiraniKorisnik);

            if (stariToken != null)
            {
                AutorizacijskiToken obrisati = db.autorizacijskiToken.FirstOrDefault(x => x.Vrijednost == stariToken);
                if (obrisati != null)
                {
                    db.autorizacijskiToken.Remove(obrisati);
                    db.SaveChanges();
                }
            }

            if (korisnik != null)
            {
                string token = Guid.NewGuid().ToString();
                db.autorizacijskiToken.Add(new AutorizacijskiToken
                {
                    Vrijednost           = token,
                    KorisnickiNalogId    = korisnik.korisnickiNalogId,
                    VrijemeEvidentiranja = DateTime.Now
                });
                db.SaveChanges();
                context.Response.SetCookieJson(LogiraniKorisnik, token);
            }

            context.Session.Set(LogiraniKorisnik, korisnik);

            //if (snimiUCookie)
            //{
            //    BrzaPostaDbContext db = context.RequestServices.GetService<BrzaPostaDbContext>();

            //    string token = Guid.NewGuid().ToString();
            //    db.autorizacijskiToken.Add(new AutorizacijskiToken
            //    {
            //        Vrijednost=token,
            //        KorisnickiNalogId=korisnik.korisnickiNalogId,
            //        VrijemeEvidentiranja=DateTime.Now
            //    });
            //    db.SaveChanges();
            //    context.Response.SetCookieJson(LogiraniKorisnik, token);
            //}

            //else
            //    context.Response.SetCookieJson(LogiraniKorisnik, null);
        }
Exemple #2
0
        public async Task OnActionExecutionAsync(ActionExecutingContext filterContext, ActionExecutionDelegate next)
        {
            KorisnickiNalog k = filterContext.HttpContext.GetLogiraniKorisnik();

            if (k == null)
            {
                if (filterContext.Controller is Controller controller)
                {
                    controller.TempData["error_poruka"] = "Niste logirani";
                }

                filterContext.Result = new RedirectToActionResult("Index", "Home", new { @area = "" });
                return;
            }

            //Preuzimamo DbContext preko app services
            BrzaPostaDbContext db = filterContext.HttpContext.RequestServices.GetService <BrzaPostaDbContext>();

            //useri mogu pristupiti
            if (_user && db.korisnici.Any(s => s.AktivacijaId == k.korisnickiNalogId))
            {
                await next(); //ok - ima pravo pristupa

                return;
            }

            //admini mogu pristupiti
            if (_admin && db.administratori.Any(s => s.AktivacijaId == k.korisnickiNalogId))
            {
                await next();//ok - ima pravo pristupa

                return;
            }
            //zaposlenici mogu pristupiti
            if (_zaposlenik && db.zaposlenici.Any(s => s.AktivacijaId == k.korisnickiNalogId))
            {
                await next();//ok - ima pravo pristupa

                return;
            }


            if (filterContext.Controller is Controller c1)
            {
                c1.ViewData["error_poruka"] = "Nemate pravo pristupa";
            }
            filterContext.Result = new RedirectToActionResult("Index", "Home", new { @area = "" });
        }
Exemple #3
0
        public static KorisnickiNalog GetLogiraniKorisnik(this HttpContext context)
        {
            ////////KorisnickiNalog korisnik = context.Session.Get<KorisnickiNalog>(LogiraniKorisnik);
            ////////if(korisnik == null)
            ////////{
            ////////    korisnik = context.Request.GetCookieJson<KorisnickiNalog>(LogiraniKorisnik);
            ////////    context.Session.Set(LogiraniKorisnik, korisnik);
            ////////}
            ////////return korisnik;

            //BrzaPostaDbContext db = context.RequestServices.GetService<BrzaPostaDbContext>();

            //string token = context.Request.GetCookieJson<string>(LogiraniKorisnik);
            //if (token == null)
            //    return null;

            //return db.autorizacijskiToken
            //    .Where(x => x.Vrijednost == token)
            //    .Select(s => s.KorisnickiNalog)
            //    .SingleOrDefault();

            KorisnickiNalog korisnik = context.Session.Get <KorisnickiNalog>(LogiraniKorisnik);

            if (korisnik == null)
            {
                BrzaPostaDbContext db = context.RequestServices.GetService <BrzaPostaDbContext>();

                string token = context.Request.GetCookieJson <string>(LogiraniKorisnik);
                if (token == null)
                {
                    return(null);
                }
                AutorizacijskiToken autorizacijskiToken = db.autorizacijskiToken
                                                          .Include(x => x.KorisnickiNalog)
                                                          .SingleOrDefault(x => x.Vrijednost == token);

                if (autorizacijskiToken != null)
                {
                    context.Session.Set(LogiraniKorisnik, autorizacijskiToken.KorisnickiNalog);
                }
            }

            return(korisnik);
        }
 public AdresaController(BrzaPostaDbContext baza)
 {
     db = baza;
 }
 public StatusiController(BrzaPostaDbContext baza)
 {
     db = baza;
 }
 public SkladisteController(BrzaPostaDbContext baza)
 {
     db = baza;
 }
 public AutentifikacijaController(BrzaPostaDbContext baza)
 {
     db = baza;
 }
 public SesijaController(BrzaPostaDbContext db)
 {
     _db = db;
 }
Exemple #9
0
 public GradController(BrzaPostaDbContext baza)
 {
     db = baza;
 }
 public DostaveController(BrzaPostaDbContext baza)
 {
     db = baza;
 }
Exemple #11
0
 public RegionController(BrzaPostaDbContext baza)
 {
     db = baza;
 }
Exemple #12
0
 public HomeController(BrzaPostaDbContext baza)
 {
     db = baza;
 }
Exemple #13
0
 public RegistracijaController(BrzaPostaDbContext baza)
 {
     db = baza;
 }
Exemple #14
0
 public DrzavaController(BrzaPostaDbContext baza)
 {
     db = baza;
 }