Exemplo n.º 1
0
        private ServiceResult <TokenModel> ValidirajToken(Token token, String ip, String klijent)
        {
            // provjeri token
            if (token == null)
            {
                return(NotFound());
            }

            var trenutnaUloga = context.Roles.Include(a => a.PravoAkcijaUloge)
                                .ThenInclude(a => a.PravoAkcija)
                                .Where(a => a.Id == token.UlogaId)
                                .FirstOrDefault();

            // ucitaj samo one korisnik uloge koje trebaju
            context.Entry(trenutnaUloga).Collection(a => a.Users)
            .Query()
            .Where(a => a.User.Id == token.VlasnikId)
            .Include(a => a.KorisnikUlogaDodatnaInformacija)
            .ThenInclude(a => a.KorisnikTipDodatneInformacije)
            .Load();

            //token.Vlasnik.TrenutnaUloga = trenutnaUloga;

            if (token.DatumIsteka < DateTime.Now)
            {
                return(ValidationError("Token je istekao."));
            }

            // ako su postavljeni ip ili adresa, uradi azuriranje tokena
            if (!String.IsNullOrWhiteSpace(ip) ||
                !String.IsNullOrWhiteSpace(klijent))
            {
                // koristimo sistemske postavke za trajanje sesije
                var postavke = postavkeService.VratiPostavke();
                if (postavke.IsOk)
                {
                    token.DatumIsteka = DateTime.Now.AddDays(
                        postavke.Value.TrajanjeSesije);
                    token.DatumPosljednjeAkcije = DateTime.Now;

                    token.PosljednjiIp      = ip;
                    token.PosljednjiKlijent = klijent;

                    SaveChanges(context);
                }
            }

            // uradi mapiranje
            var result = token.ToTokenModel();

            return(Ok(result));
        }
Exemplo n.º 2
0
        public IActionResult Vrati()
        {
            var result = postavkeService.VratiPostavke();

            return(Convert(result));
        }