private async void FrmObavijestiDetalji_Load(object sender, EventArgs e) { Model.Models.Obavijesti Obavijest = await _service.GetById <Model.Models.Obavijesti>(_id); Model.Models.Korisnici korisnik = await _serviceKorisnici.GetById <Model.Models.Korisnici>(Obavijest.KorisnikId); txtNaslov.Text = Obavijest.Naslov; rtxtText.Text = Obavijest.Text; txtKorisnik.Text = korisnik.KorisnickoIme; if (Obavijest.Slika != null) { Image originalImage = Helper.ByteToImage.byteArrayToImage(Obavijest.Slika); int resizedWidth = int.Parse(ConfigurationManager.AppSettings["resizedWidthObavijestiDetalji"]); int resizedHeight = int.Parse(ConfigurationManager.AppSettings["resizedHeightObavijestiDetalji"]); if (originalImage.Width > resizedWidth) { Image resizedImage = Helper.SlikaHelper.ResizeImage(originalImage, new Size(resizedWidth, resizedHeight)); pbSlika.Image = resizedImage; } } }
protected override async Task <AuthenticateResult> HandleAuthenticateAsync() { if (!Request.Headers.ContainsKey("Authorization")) { return(AuthenticateResult.Fail("Missing Authorization Header")); } Model.Models.Korisnici user = null; try { var authHeader = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]); var credentialBytes = Convert.FromBase64String(authHeader.Parameter); var credentials = Encoding.UTF8.GetString(credentialBytes).Split(':'); var username = credentials[0]; var password = credentials[1]; user = _userService.Authenticiraj(username, password); } catch { return(AuthenticateResult.Fail("Invalid Authorization Header")); } if (user == null) { return(AuthenticateResult.Fail("Invalid Username or Password")); } var claims = new List <Claim> { new Claim(ClaimTypes.NameIdentifier, user.KorisnickoIme), new Claim(ClaimTypes.Name, user.Ime), }; foreach (var role in user.KorisniciUloge) { claims.Add(new Claim(ClaimTypes.Role, role.Uloga.Naziv)); } var identity = new ClaimsIdentity(claims, Scheme.Name); var principal = new ClaimsPrincipal(identity); var ticket = new AuthenticationTicket(principal, Scheme.Name); return(AuthenticateResult.Success(ticket)); }
public Model.Models.Korisnici Authenticiraj(string username, string pass) { var user = _context.Korisnici.FirstOrDefault(x => x.KorisnickoIme == username); if (user != null) { var hashedPass = GenerateHash(user.LozinkaSalt, pass); if (hashedPass == user.LozinkaHash) { var uloge = _context.KorisniciUloge.Where(x => x.KorisnikId == user.KorisnikId); Model.Models.Korisnici novikorisnik = new Model.Models.Korisnici(); foreach (var item in uloge) { novikorisnik.KorisniciUloge = new List <Model.Models.KorisniciUloge>(); novikorisnik.KorisniciUloge.Add(new Model.Models.KorisniciUloge { DatumIzmjene = item.DatumIzmjene, KorisnikId = item.KorisnikId, UlogaId = item.UlogaId, KorisnikUlogaId = item.KorisnikUlogaId }); } novikorisnik.Ime = user.Ime; novikorisnik.Prezime = user.Prezime; novikorisnik.KorisnickoIme = user.KorisnickoIme; novikorisnik.Email = user.Email; novikorisnik.KorisnikId = user.KorisnikId; novikorisnik.Telefon = user.Telefon; return(novikorisnik); } } return(null); }
private async void BtnLogin_Click(object sender, EventArgs e) { Model.Models.Korisnici korisnik = await _service.Authenticiraj <Model.Models.Korisnici>(txtKorisnickoIme.Text, txtPassword.Text); int ulogaId1 = 0; if (korisnik != null) { Global.PrijavljeniKorisnik = korisnik; foreach (var item in Global.PrijavljeniKorisnik.KorisniciUloge) { ulogaId1 = item.UlogaId; } admin = await _serviceuloge.ProvjeriAdmin <Model.Models.Uloge>(ulogaId1); if (admin != null) { Global.Admin = true; } MessageBox.Show("Dobrodosli " + korisnik.Ime + " " + korisnik.Prezime); DialogResult = DialogResult.OK; Close(); } else { MessageBox.Show("Pogresan username ili password", "Autentifikacija", MessageBoxButtons.OK, MessageBoxIcon.Error); } }