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); }
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 = "" }); }
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; }
public GradController(BrzaPostaDbContext baza) { db = baza; }
public DostaveController(BrzaPostaDbContext baza) { db = baza; }
public RegionController(BrzaPostaDbContext baza) { db = baza; }
public HomeController(BrzaPostaDbContext baza) { db = baza; }
public RegistracijaController(BrzaPostaDbContext baza) { db = baza; }
public DrzavaController(BrzaPostaDbContext baza) { db = baza; }