Пример #1
0
        public ActionResult Kreiranje(NoviKorisnikModel model)
        {
            if (ModelState.IsValid)
            {
                RokovnikUser newUser = new RokovnikUser
                {
                    UserName = model.Username,
                    OsobaId = -1
                };

                var result = UserManager.Create(newUser, model.Password);

                if (result.Succeeded)
                {
                    Osoba newOsoba = new Osoba
                    {
                        Ime = model.Ime,
                        Prezime = model.Prezime,
                        NazivRokovnika = "Novi rokovnik",
                        OpisRokovnika = "Prazni opis rokovnika",
                        DatumRodjenja = model.DatumRodjenja
                    };

                    newUser.OsobaId = Repository.AddOsoba(newOsoba);
                    UserManager.Update(newUser);

                    ClaimsIdentity identity = CreateIdentityWithClaims(newUser, newOsoba);
                    AuthenticationManager.SignIn(new AuthenticationProperties(), identity);

                    return RedirectToAction("Index", "Rokovnik");
                }
                else
                {
                    ModelState.AddModelError("type", "danger");
                    ModelState.AddModelError("", "Korisničko ime je zauzeto! Pokušaj s drugim imenom.");
                    return View(model);
                }
            }
            else
            {
                return View(model);
            }
        }
Пример #2
0
        private ClaimsIdentity CreateIdentityWithClaims(RokovnikUser user, Osoba osoba)
        {
            ClaimsIdentity identity = UserManager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
            identity.AddClaim(new Claim("OsobaId", user.OsobaId.ToString("D")));
            identity.AddClaim(new Claim("OsobaIme", osoba.Ime));
            identity.AddClaim(new Claim("OsobaPrezime", osoba.Prezime));
            identity.AddClaim(new Claim("OsobaNazivRokovnika", osoba.NazivRokovnika));
            identity.AddClaim(new Claim("OsobaOpisRokovnika", osoba.OpisRokovnika));

            return identity;
        }