protected override async Task <AuthenticateResult> HandleAuthenticateAsync() { if (!Request.Headers.ContainsKey("Authorization")) { return(AuthenticateResult.Fail("Missing Authorization Header")); } TurAgencijaRS2_Model.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)); }
private async void snimi_Click(object sender, EventArgs e) { var valid = true; var korisnik = new TurAgencijaRS2_Model.Korisnici(); korisnik = await korisniciService.GetById <TurAgencijaRS2_Model.Korisnici> (korisnikId); var request = new KorisniciInsertRequest(); var kontaktPodaciSvi = await kontaktService.Get <List <TurAgencijaRS2_Model.KontaktPodaci> >(null); var kontaktPodatak = new TurAgencijaRS2_Model.KontaktPodaci(); foreach (var x in kontaktPodaciSvi) { if (x.KorisnikId == korisnikId) { kontaktPodatak = x; } } request.Adresa = korisnik.Adresa; request.DatumRodjenja = korisnik.DatumRodjenja; request.gradId = korisnik.gradId; request.Ime = korisnik.Ime; request.Jmbg = korisnik.Jmbg; request.KorisnickoIme = korisnik.KorisnickoIme; request.Spol = korisnik.Spol; request.Prezime = korisnik.Prezime; request.Email = kontaktPodatak.Email; request.Telefon = kontaktPodatak.Telefon; request.Password = lozinkaInput.Text; if (lozinkaInput.Text != potvrdaInput.Text) { valid = false; MessageBox.Show("Lozinke se ne slazu ! "); } if (this.ValidateChildren() && valid) { await korisniciService.Update <TurAgencijaRS2_Model.Korisnici> (korisnikId, request); MessageBox.Show("Lozinka uspjesno izmjenjena"); if (admin != null) { this.Close(); } else { this.Hide(); LoginForm login = new LoginForm(); login.Closed += (s, args) => this.Close(); login.Show(); } } }
private async void loginBtn_Click_1(object sender, EventArgs e) { try { APIService.Username = korisnickoImeInput.Text; APIService.Password = passwordInput.Text; var korisnici = await korisniciService.Get <List <TurAgencijaRS2_Model.Korisnici> >(null); var korisnik = new TurAgencijaRS2_Model.Korisnici(); foreach (var x in korisnici) { if (korisnickoImeInput.Text == x.KorisnickoIme) { korisnik = x; } } var zaposlenik = await zaposleniciService.GetById <TurAgencijaRS2_Model.Zaposlenici>(korisnik.KorisnikId); if (zaposlenik != null) { await service.Get <dynamic>(null); if (zaposlenik.IsVodic) { this.Hide(); mainVodic mainVodic = new mainVodic(zaposlenik.KorisnikId); mainVodic.Closed += (s, args) => this.Close(); mainVodic.Show(); } else { this.Hide(); mainZaposlenik mainVodic = new mainZaposlenik(zaposlenik.KorisnikId); mainVodic.Closed += (s, args) => this.Close(); mainVodic.Show(); } } else { this.Hide(); homeAdmin mainVodic = new homeAdmin(); mainVodic.Closed += (s, args) => this.Close(); mainVodic.Show(); } } catch (Exception ex) { MessageBox.Show("pogresan username ili password", "Authentikacija", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private async void snimi_Click(object sender, EventArgs e) { var validacija = true; if (!(this.zenskoInput.Checked || muskoInput.Checked)) { MessageBox.Show("Odaberi spol"); errorProvider.SetError(zenskoInput, null); validacija = false; } if (this.ValidateChildren() && validacija) { //za radio button string spolRadio = null; foreach (Control control in this.Controls) { if (control is RadioButton) { RadioButton radio = control as RadioButton; if (radio.Checked) { spolRadio = radio.Text; } } } var request = new KorisniciInsertRequest() { Ime = imeInput.Text, Prezime = prezimeInput.Text, KorisnickoIme = imeInput.Text.ToLower() + "." + prezimeInput.Text.ToLower(), Adresa = adresaInput.Text, Jmbg = "111", Spol = spolRadio, Password = lozinkaInput.Text, DatumRodjenja = dateTimePicker1.Value, Telefon = telefonInput.Text, Email = emailInput.Text }; var zaposleniciRequest = new ZaposleniciUpsertRequest() { MjeseciIskustva = 11, DatumZaposljavanja = DateTime.Now, StatusVodicaId = 1 }; var idObj = gradovInput.SelectedValue; if (int.TryParse(idObj.ToString(), out int GradId))//ako je ispravno selektovano dobijemo id parametar { request.gradId = GradId; } if (_Id.HasValue) { await _service.Update <TurAgencijaRS2_Model.Korisnici>(_Id, request); if (zaposlenikChek.Checked) { var korisniciAll = await _service.Get <List <TurAgencijaRS2_Model.Korisnici> >(null); if (vodicChek.Checked) { zaposleniciRequest.IsVodic = true; } else { zaposleniciRequest.IsVodic = false; } var korisnik = new TurAgencijaRS2_Model.Korisnici(); foreach (var x in korisniciAll) { if (request.KorisnickoIme == x.KorisnickoIme) { korisnik = x; } } zaposleniciRequest.KorisnikId = korisnik.KorisnikId; await zaposleniciService.Update <TurAgencijaRS2_Model.Zaposlenici>(_Id, zaposleniciRequest); } MessageBox.Show("Korisnik uspjesno izmijenjen"); } else { await _service.Insert <TurAgencijaRS2_Model.Korisnici>(request); if (zaposlenikChek.Checked) { var korisniciAll = await _service.Get <List <TurAgencijaRS2_Model.Korisnici> >(null); if (vodicChek.Checked) { zaposleniciRequest.IsVodic = true; } else { zaposleniciRequest.IsVodic = false; } var korisnik = new TurAgencijaRS2_Model.Korisnici(); foreach (var x in korisniciAll) { if (request.KorisnickoIme == x.KorisnickoIme) { korisnik = x; } } zaposleniciRequest.KorisnikId = korisnik.KorisnikId; await zaposleniciService.Insert <TurAgencijaRS2_Model.Zaposlenici>(zaposleniciRequest); } else { // za turista var korisniciAll = await _service.Get <List <TurAgencijaRS2_Model.Korisnici> >(null); var korisnik = new TurAgencijaRS2_Model.Korisnici(); foreach (var x in korisniciAll) { if (request.KorisnickoIme == x.KorisnickoIme) { korisnik = x; } } var turistrequest = new TuristiInsertRequest { KorisnikId = korisnik.KorisnikId, GrupaId = 1, Indeks = "TUR" + korisnik.KorisnikId.ToString(), StatusTuristaId = 1 }; await turistiService.Insert <TurAgencijaRS2_Model.Turisti>(turistrequest); } MessageBox.Show("Korisnik uspjesno dodan"); } this.Close(); } }