示例#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);
        }
        public static void SetLogiraniKorisnik(this HttpContext context, Korisnik korisnik, bool snimiUCookie = false)
        {
            MojContext db = context.RequestServices.GetService <MojContext>();


            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,
                    KorisnikId           = korisnik.Id,
                    VrijemeEvidentiranja = DateTime.Now
                });
                db.SaveChanges();
                context.Response.SetCookieJson(LogiraniKorisnik, token);
            }
        }
        public static void SetLogiraniKorisnik(this HttpContext context, KorisnickiNalog nalog, bool snimiUCookie = false)
        {
            MyContext db = context.RequestServices.GetService <MyContext>();

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

            if (stariToken != null)
            {
                AutorizacijskiToken obrisi = db.Tokeni.FirstOrDefault(i => i.Vrijednost == stariToken);

                if (obrisi != null)
                {
                    db.Tokeni.Remove(obrisi);
                    db.SaveChanges();
                }
            }

            if (nalog != null)
            {
                string token = Guid.NewGuid().ToString();

                db.Tokeni.Add(new AutorizacijskiToken
                {
                    Vrijednost           = token,
                    KorisnickiNalogID    = nalog.KorisnickiNalogID,
                    VrijemeEvidentiranja = DateTime.Now
                });

                db.SaveChanges();
                context.Response.SetCookieJson(LogiraniKorisnik, token);
            }
        }
示例#4
0
        public static void SetLogiraniKorisnik(this HttpContext context, KorisnickiNalog korisnik, bool snimiUCookie = false)
        {
            MyContext db = context.RequestServices.GetService <MyContext>();

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

            if (stariToken1 != null)
            {
                AutorizacijskiToken obrisati = db.AutorizacijskiToken.FirstOrDefault(x => x.Vrijednost == stariToken1);
                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.Id,
                    VrijemeEvidentiranja = DateTime.Now,
                    deviceInfo           = "Web app - " + context.Request.Headers["User-Agent"],
                    IpAdresa             = context.Connection.RemoteIpAddress + ":" + context.Connection.RemotePort
                });
                db.SaveChanges();
                context.Session.Set(LogiraniKorisnik, token);
                if (snimiUCookie)
                {
                    context.Response.SetCookieJson(LogiraniKorisnik, token);
                }
            }
        }
        public IActionResult Obrisi(string token)
        {
            AutorizacijskiToken obrisati = _db.AutorizacijskiToken.FirstOrDefault(x => x.Vrijednost == token);

            if (obrisati != null)
            {
                _db.AutorizacijskiToken.Remove(obrisati);
                _db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Logout(int tokenId)
        {
            AutorizacijskiToken autorizacijskiToken = _db.AutorizacijskiTokens.Find(tokenId);

            if (autorizacijskiToken != null)
            {
                _db.Remove(autorizacijskiToken);
                _db.SaveChanges();
            }
            return(Ok());
        }
        public ActionResult Logout()
        {
            string tokenString = HttpContext.GetMyAuthToken();
            AutorizacijskiToken autorizacijskiToken = _db.AutorizacijskiToken.Find(tokenString);

            if (autorizacijskiToken != null)
            {
                _db.Remove(autorizacijskiToken);
                _db.SaveChanges();
            }
            return(Ok());
        }
示例#8
0
        public IActionResult Logout()
        {
            string token = HttpContext.GetTrenutniToken();
            AutorizacijskiToken obrisati = db.AutorizacijskiToken.FirstOrDefault(x => x.Vrijednost == token);

            if (obrisati != null)
            {
                db.AutorizacijskiToken.Remove(obrisati);
                db.SaveChanges();
            }
            return(RedirectToAction(nameof(Index)));
        }
示例#9
0
        public ActionResult Logout()
        {
            string tokenString = HttpContext.GetMyAuthToken();
            AutorizacijskiToken autorizacijskiToken = _db.AutorizacijskiToken.Where(x => x.Vrijednost == tokenString).FirstOrDefault();

            if (autorizacijskiToken != null)
            {
                _db.Remove(autorizacijskiToken);
                _db.SaveChanges();
            }
            return(Ok());
        }
示例#10
0
        protected void IzbrisiToken()
        {
            string token = GetAuthToken();

            AutorizacijskiToken TokenCheck = db.AutorizacijskiToken
                                             .Where(s => s.Vrijednost == token)
                                             .FirstOrDefault();

            if (TokenCheck != null)
            {
                db.AutorizacijskiToken.Remove(TokenCheck);
                db.SaveChanges();
            }
        }
示例#11
0
        protected bool ProvjeriValidnostTokena()
        {
            string token = GetAuthToken();

            AutorizacijskiToken TokenCheck = db.AutorizacijskiToken
                                             .Where(s => s.Vrijednost == token)
                                             .FirstOrDefault();

            if (TokenCheck != null)
            {
                if (TokenCheck.VrijemeEvidentiranja >= DateTime.Now.AddDays(-2)) // token moze biti star 2 dana
                {
                    return(true);
                }
            }

            return(false);
        }
示例#12
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);
        }
示例#13
0
        public static void SetLogiraniKorisnik(this HttpContext context, Korisnik korisnik, bool remember = false)
        {
            ApplicationContext db = context.RequestServices.GetService <ApplicationContext>();

            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,
                    KorisnikId           = korisnik.Id,
                    VrijemeEvidentiranja = DateTime.Now,
                    IpAdresa             = context.Connection.RemoteIpAddress.ToString()
                });
                db.SaveChanges();

                if (remember)
                {
                    context.Response.SetCookieJson(LogiraniKorisnik, token);
                }
                else
                {
                    context.Response.SetCookieJson(LogiraniKorisnik, token, -1);
                }
            }
            else
            {
                context.Response.SetCookieJson(LogiraniKorisnik, null);
            }
        }
示例#14
0
        public async Task <IActionResult> Delete(int id)
        {
            AutorizacijskiToken token = await _db.AutorizacijskiTokeni.FindAsync(id);

            if (token == null)
            {
                return(NotFound("Zapis nije pronađen."));
            }
            try
            {
                _db.AutorizacijskiTokeni.Remove(token);
                await _db.SaveChangesAsync();
            }
            catch (Exception e)
            {
                return(BadRequest("Došlo je do greške prilikom snimanja podatka u bazu.; " + e.Message));
            }

            return(RedirectToAction(nameof(KorisnickiNalogController.SessionsTable)));
        }
示例#15
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;
                }
            }
        }
示例#16
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);
            }
        }