private async void BtnPrijava_Click(object sender, EventArgs e) { btnPrijava.Enabled = false; var password = txtSifra.Text; var userName = txtUserName.Text; APIService._username = userName; APIService._password = password; var request = new AutentifikacijaRequest() { username = userName, password = password }; Wellness.Model.Osoba osoba = await _apiService_Autentifikacija.Get <Wellness.Model.Osoba>(request); if (osoba != null) { if (osoba.Uloga.Naziv == "Menadzer" || osoba.Uloga.Naziv == "Recepcionar" || osoba.Uloga.Naziv == "Trener") { var RadnikSearchRequest = new RadnikSearchRequest() { OsobaId = osoba.Id }; var radnikList = await _apiService_Radnik.Get <List <Wellness.Model.Radnik> >(RadnikSearchRequest); var radnik = radnikList[0]; frmIndex frm = new frmIndex(radnik, this); frm.Show(); MessageBox.Show("Uspjesna prijava", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); txtUserName.Text = ""; txtSifra.Text = ""; } else { MessageBox.Show("Niste autorizovani", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } } else { MessageBox.Show("Pogresno korisnicko ime ili sifra", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } btnPrijava.Enabled = true; }
protected override async Task <AuthenticateResult> HandleAuthenticateAsync() { if (!Request.Headers.ContainsKey("Authorization")) { return(AuthenticateResult.Fail("Missing Authorization Header")); } Wellness.Model.Osoba 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);//trebamo napravit neki servis hur dur } 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),//idk valjda bi trebo bit password.. }; claims.Add(new Claim(ClaimTypes.Role, user.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)); }