Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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));
        }