예제 #1
0
        public IActionResult Login(LoginVM podaci)
        {
            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();

            byte[] b = System.Text.Encoding.UTF8.GetBytes(podaci.Password);
            b = md5.ComputeHash(b);
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            foreach (byte x in b)
            {
                sb.Append(x.ToString("x2"));
            }
            podaci.Password = sb.ToString();

            Klijent klijent = _db.Klijenti.SingleOrDefault(k => k.KorisnickoIme == podaci.Username && k.Lozinka == podaci.Password);

            if (klijent == null)
            {
                TempData["Error_Poruka"] = "Pogrešan username ili password";
                return(View("Index", podaci));
            }

            var kod     = RandomStringGenerator.RandomString(6);
            var message = new MimeMessage();

            message.From.Add(new MailboxAddress("EKnjige", "*****@*****.**"));

            message.To.Add(new MailboxAddress(klijent.KorisnickoIme, klijent.Email));

            message.Subject = "Potvrdni kod";

            message.Body = new TextPart("plain")
            {
                Text = "Poštovani,\n\n" +
                       "Unesite sljedeci kod da bi ste pristupili sistemu: " + kod
            };

            using (var client = new SmtpClient())
            {
                client.ServerCertificateValidationCallback = (s, c, h, e) => true;
                client.Connect("smtp.gmail.com", 587, false);
                client.Authenticate("*****@*****.**", "Administrator!");
                client.Send(message);
                client.Disconnect(true);
            }


            AutentifikacijaKodVM kodvm = new AutentifikacijaKodVM()
            {
                klijentId = klijent.KlijentID,
                kodGen    = kod,
            };


            return(View("UnosKoda", kodvm));



            //HttpContext.Setlogiranikorisnik(klijent);
            //return RedirectToAction("Index", "KlijentProfil", new { area = "KlijentModul" });
        }
예제 #2
0
        public IActionResult Login(LoginVM login)
        {
            if (!ModelState.IsValid)
            {
                return(View("Index", login));
            }

            Administrator administrator = _db.Administratori.SingleOrDefault(k => k.KorisnickoIme == login.Username && k.Lozinka == login.Password);

            if (administrator == null)
            {
                ModelState.AddModelError("", "Korisnicko ime ili lozinka nisu tacni");
            }
            if (!ModelState.IsValid)
            {
                return(View("Index", login));
            }

            var kod     = RandomStringGenerator.RandomString(6);
            var message = new MimeMessage();

            message.From.Add(new MailboxAddress("EKnjige", "*****@*****.**"));

            message.To.Add(new MailboxAddress(administrator.Ime, administrator.Email));

            message.Subject = "Potvrdni kod";

            message.Body = new TextPart("plain")
            {
                Text = "Poštovani,\n\n" +
                       "Unesite sljedeci kod da bi ste pristupili sistemu: " + kod
            };

            using (var client = new SmtpClient())
            {
                client.ServerCertificateValidationCallback = (s, c, h, e) => true;
                client.Connect("smtp.gmail.com", 587, false);
                client.Authenticate("*****@*****.**", "Administrator!");
                client.Send(message);
                client.Disconnect(true);
            }

            //HttpContext.SetlogiraniAdministrator(administrator);
            AutentifikacijaKodVM kodvm = new AutentifikacijaKodVM()
            {
                adminId = administrator.AdministratorID,
                kodGen  = kod,
            };


            return(View("UnosKoda", kodvm));


            //return RedirectToAction("Index", "Administrator", new { area = "AdministratorModul" });
            //Autentifikacija.PokreniNovuSesiju(nalog, httpContext.HttpContext);
            //return RedirectToAction("Index", "Klijent/Rezervacije");
        }
예제 #3
0
        public IActionResult ProvjeraKoda(AutentifikacijaKodVM input)
        {
            if (input.kodGen == input.kodKor)
            {
                Klijent k = _db.Klijenti.SingleOrDefault(a => a.KlijentID == input.klijentId);
                HttpContext.Setlogiranikorisnik(k);
                return(RedirectToAction("Index", "KlijentProfil", new { area = "KlijentModul" }));
            }
            else
            {
                input.kodKor = null;
                ModelState.AddModelError("", "Uneseni kod nije ispravan");

                return(View("UnosKoda", input));
            }
        }
예제 #4
0
        public IActionResult ProvjeraKoda(AutentifikacijaKodVM input)
        {
            if (input.kodGen == input.kodKor)
            {
                Administrator administrator = _db.Administratori.SingleOrDefault(a => a.AdministratorID == input.adminId);
                HttpContext.SetlogiraniAdministrator(administrator);
                return(RedirectToAction("Index", "Administrator", new { area = "AdministratorModul" }));
            }
            else
            {
                input.kodKor = null;
                ModelState.AddModelError("", "Uneseni kod nije ispravan");

                return(View("UnosKoda", input));
            }
        }