public async Task OnActionExecutionAsync(ActionExecutingContext filterContext, ActionExecutionDelegate next)
        {
            var             requestUrl = filterContext.HttpContext.Request.GetEncodedUrl();
            KorisnickiNalog k          = await filterContext.HttpContext.GetLogiraniKorisnik();

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

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

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

            if (_ulogeKorisnika.Any(a => a == k.UlogaKorisnika))
            {
                await next();

                return;
            }


            if (filterContext.Controller is Controller c1)
            {
                c1.TempData["error_poruka"] = "Nemate pravo pristupa";
                c1.TempData["requestUrl"]   = requestUrl;
            }
            filterContext.Result = new RedirectToActionResult("Index", "Autentifikacija", new { @area = "" });
        }
Esempio n. 2
0
        public static async Task RemoveLogiraniKorisnik(this HttpContext context)
        {
            CZEContext db = context.RequestServices.GetService <CZEContext>();

            context.Session.Remove(LogiraniKorisnik);
            AutorizacijskiToken obrisati = db.AutorizacijskiTokeni.FirstOrDefault(x => x.Vrijednost == context.GetTrenutniToken());

            if (obrisati != null)
            {
                try
                {
                    db.AutorizacijskiTokeni.Remove(obrisati);
                    await db.SaveChangesAsync();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
            }
        }
Esempio n. 3
0
        public static async Task SetLogiraniKorisnik(this HttpContext context, KorisnickiNalog nalog, bool snimiUCookie = false)
        {
            if (snimiUCookie)
            {
                CZEContext db = context.RequestServices.GetService <CZEContext>();

                string stariToken = context.Request.GetCookieJson <string>(LogiraniKorisnik);
                if (stariToken != null)
                {
                    AutorizacijskiToken obrisati = db.AutorizacijskiTokeni.FirstOrDefault(x => x.Vrijednost == stariToken);
                    if (obrisati != null)
                    {
                        db.AutorizacijskiTokeni.Remove(obrisati);
                        await db.SaveChangesAsync();
                    }
                }

                if (nalog != null)
                {
                    string ip    = context.Connection.RemoteIpAddress.ToString();
                    string token = Guid.NewGuid().ToString();
                    db.AutorizacijskiTokeni.Add(new AutorizacijskiToken
                    {
                        Vrijednost           = token,
                        KorisnickiNalogId    = nalog.KorisnickiNalogId,
                        IpAdresa             = ip,
                        VrijemeEvidentiranja = DateTime.Now
                    });
                    await db.SaveChangesAsync();

                    context.Response.SetCookieJson(LogiraniKorisnik, token);
                }
            }
            else
            {
                context.Session.Set(LogiraniKorisnik, nalog);
            }
        }
Esempio n. 4
0
        public static async Task <KorisnickiNalog> GetLogiraniKorisnik(this HttpContext context)
        {
            var sesija = context.Session.Get <KorisnickiNalog>(LogiraniKorisnik);

            if (sesija != null)
            {
                return(sesija);
            }

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

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

            if (token == null)
            {
                return(null);
            }

            return(await db.AutorizacijskiTokeni
                   .Where(x => x.Vrijednost == token)
                   .Select(s => s.KorisnickiNalog)
                   .SingleOrDefaultAsync());
        }
Esempio n. 5
0
 public KorisnickiNalogController(CZEContext db, IConfiguration config)
 {
     _db     = db;
     _config = config;
 }
 public KursController(CZEContext db)
 {
     _db = db;
 }
Esempio n. 7
0
 public ZaposlenikController(CZEContext db)
 {
     _db = db;
 }
 public HomeController(CZEContext db)
 {
     _db = db;
 }
Esempio n. 9
0
 public GrupaController(CZEContext db)
 {
     _db = db;
 }
 public TestController(CZEContext db)
 {
     _db = db;
 }
Esempio n. 11
0
 public PrisustvoController(CZEContext db)
 {
     _db = db;
 }
Esempio n. 12
0
 public RegistracijaViewComponent(CZEContext db)
 {
     _db = db;
 }
Esempio n. 13
0
 public OsobaController(CZEContext db)
 {
     _db = db;
 }
Esempio n. 14
0
 public CentarController(CZEContext db)
 {
     _db = db;
 }
 public SlikaController(CZEContext db, IConfiguration config1)
 {
     _db     = db;
     _config = config1;
 }
Esempio n. 16
0
 public AutentifikacijaController(CZEContext db)
 {
     _db = db;
 }
Esempio n. 17
0
 public LoginViewComponent(CZEContext db)
 {
     _db = db;
 }
Esempio n. 18
0
 public UplataKandidataController(CZEContext db)
 {
     _db = db;
 }
 public GrupaKandidatiController(CZEContext db)
 {
     _db = db;
 }
Esempio n. 20
0
 public KandidatController(CZEContext db)
 {
     _db = db;
 }
Esempio n. 21
0
 public KategorijaNavListViewComponent(CZEContext db)
 {
     _db = db;
 }
Esempio n. 22
0
 public OcjenaController(CZEContext db)
 {
     _db = db;
 }
 public KursKategorijaController(CZEContext db)
 {
     _db = db;
 }