public IActionResult Record(Models.j04RecordViewModel v) { if (ModelState.IsValid) { BO.j04UserRole c = new BO.j04UserRole(); if (v.Rec.pid > 0) { c = Factory.j04UserRoleBL.Load(v.Rec.pid); } c.j04Name = v.Rec.j04Name; c.j04PermissionValue = v.SelectedPermissions.Sum(); c.j04IsClientRole = v.Rec.j04IsClientRole; c.ValidUntil = v.Toolbar.GetValidUntil(c); c.ValidFrom = v.Toolbar.GetValidFrom(c); v.Rec.pid = Factory.j04UserRoleBL.Save(c); if (v.Rec.pid > 0) { v.SetJavascript_CallOnLoad(v.Rec.pid); return(View(v)); } } v.Toolbar = new MyToolbarViewModel(v.Rec); this.Notify_RecNotSaved(); return(View(v)); }
public ActionResult UserLogin([Bind] BO.LoggingUser lu, string returnurl) { _f.InhaleUserByLogin(lu.Login); if (_f.CurrentUser == null) { lu.Message = "Přihlášení se nezdařilo - pravděpodobně chybné heslo nebo jméno!"; Write2Accesslog(lu); return(View(lu)); } if (_f.CurrentUser.isclosed) { lu.Message = "Uživatelský účet je uzavřený pro přihlašování!"; Write2Accesslog(lu); return(View(lu)); } BO.j03User cJ03 = _f.j03UserBL.LoadByLogin(lu.Login); BO.j04UserRole cJ04 = _f.j04UserRoleBL.Load(cJ03.j04ID); if (cJ04.j04IsClientRole && _f.p21LicenseBL.HasClientValidLicense(_f.CurrentUser.p28ID) == false) { lu.Message = "Subjekt, s kterým je svázaný váš osobní profil, nemá ani jednu platnou licenci!"; Write2Accesslog(lu); return(View(lu)); } if (lu.Password == "hash") { lu.Message = lu.Pwd2Hash("123456", cJ03); return(View(lu)); } var ret = lu.VerifyHash(lu.Password, lu.Login, cJ03); if (ret.Flag == BO.ResultEnum.Failed) { lu.Message = "Ověření uživatele se nezdařilo - pravděpodobně chybné heslo nebo jméno!"; Write2Accesslog(lu); return(View(lu)); } //ověřený if (cJ03.j02Email == null) { cJ03.j02Email = "*****@*****.**"; } var userClaims = new List <Claim>() { new Claim(ClaimTypes.Name, lu.Login), new Claim("access_token", "hovado1"), new Claim(ClaimTypes.Email, cJ03.j02Email) }; var grandmaIdentity = new ClaimsIdentity(userClaims, "User Identity"); var userPrincipal = new ClaimsPrincipal(new[] { grandmaIdentity }); //prodloužit expiraci cookie na CookieExpiresInHours hodin var xx = new AuthenticationProperties() { IsPersistent = true, ExpiresUtc = DateTime.Now.AddHours(lu.CookieExpiresInHours) }; HttpContext.SignInAsync(userPrincipal, xx); Write2Accesslog(lu); if (returnurl == null) { return(RedirectToAction("Index", "Home")); } else { return(Redirect(returnurl)); } }