protected override Task <AuthenticateResult> HandleAuthenticateAsync() { if (!Request.Headers.ContainsKey("Authorization")) { return(Task.FromResult(AuthenticateResult.Fail("Missing Authorization Header"))); } Model.KorisniciModel 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(Task.FromResult(AuthenticateResult.Fail("Invalid Authorization Header"))); } if (user == null) { return(Task.FromResult(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(Task.FromResult(AuthenticateResult.Success(ticket))); }
private async void frmKorisniciDetalji_Load(object sender, EventArgs e) { var uloge = await _service.Get <List <Model.UlogeModel> >("GetUlogeList"); checkedListBoxRoles.DataSource = uloge; checkedListBoxRoles.DisplayMember = "Naziv"; checkedListBoxRoles.ValueMember = "UlogaId"; if (_id.HasValue) { textPassword.Enabled = false; textPasswordConfirm.Enabled = false; korisnik = await _service.GetById <Model.KorisniciModel>(_id); textKorisnickoIme.Text = korisnik.KorisnickoIme; textIme.Text = korisnik.Ime; textPrezime.Text = korisnik.Prezime; textEmail.Text = korisnik.Email; if (korisnik.KorisniciUloge != null) { for (int count = 0; count < checkedListBoxRoles.Items.Count; count++) { foreach (var item in korisnik.KorisniciUloge) { if (item.UlogaId == checkedListBoxRoles.Items.Cast <Model.UlogeModel>().ToList()[count].UlogaId) { checkedListBoxRoles.SetItemChecked(count, true); } } } } //Convert Byte Array to Image and display in PictureBox. if (korisnik.Slika != null && korisnik.Slika.Length > 0) { pictureBox1.Image = Image.FromStream(new MemoryStream(korisnik.Slika)); } } }