コード例 #1
0
        public ActionResult <LoginInformacije> Login([FromBody] LoginVM x)
        {
            //1- provjera logina
            KorisnickiNalog logiraniKorisnik = _dbContext.KorisnickiNalog
                                               .FirstOrDefault(k =>
                                                               k.korisnickoIme != null && k.korisnickoIme == x.korisnickoIme && k.lozinka == x.lozinka);

            if (logiraniKorisnik == null)
            {
                //pogresan username i password
                return(new LoginInformacije(null));
            }

            //2- generisati random string
            string randomString = TokenGenerator.Generate(10);

            //3- dodati novi zapis u tabelu AutentifikacijaToken za logiraniKorisnikId i randomString
            var noviToken = new AutentifikacijaToken()
            {
                ipAdresa             = Request.HttpContext.Connection.RemoteIpAddress?.ToString(),
                vrijednost           = randomString,
                korisnickiNalog      = logiraniKorisnik,
                vrijemeEvidentiranja = DateTime.Now
            };

            _dbContext.Add(noviToken);
            _dbContext.SaveChanges();

            //4- vratiti token string
            return(new LoginInformacije(noviToken));
        }
コード例 #2
0
        public static AutentifikacijaToken GetAuthToken(this HttpContext httpContext)
        {
            string token            = httpContext.GetMyAuthToken();
            ApplicationDbContext db = httpContext.RequestServices.GetService <ApplicationDbContext>();

            AutentifikacijaToken korisnickiNalog = db.AutentifikacijaToken
                                                   .Include(s => s.korisnickiNalog)
                                                   .SingleOrDefault(x => token != null && x.vrijednost == token);

            return(korisnickiNalog);
        }
コード例 #3
0
        public ActionResult Logout()
        {
            AutentifikacijaToken autentifikacijaToken = HttpContext.GetAuthToken();

            if (autentifikacijaToken == null)
            {
                return(Ok());
            }

            _dbContext.Remove(autentifikacijaToken);
            _dbContext.SaveChanges();
            return(Ok());
        }
コード例 #4
0
        public ActionResult <AutentifikacijaToken> Get()
        {
            AutentifikacijaToken autentifikacijaToken = HttpContext.GetAuthToken();

            return(autentifikacijaToken);
        }
コード例 #5
0
 public LoginInformacije(AutentifikacijaToken autentifikacijaToken)
 {
     this.autentifikacijaToken = autentifikacijaToken;
 }