public override string[] GetRolesForUser(string username) { if (!HttpContext.Current.User.Identity.IsAuthenticated) { return(null); } //check cache var cacheKey = string.Format("{0}_role", username); if (HttpRuntime.Cache[cacheKey] != null) { return((string[])HttpRuntime.Cache[cacheKey]); } string[] roles = new string[] { }; using (gadzeciakContext dc = new gadzeciakContext()) { roles = (from a in dc.Roles join b in dc.UserRoles on a.RoleID equals b.RoleID join c in dc.Uzytkowniks on b.UserID equals c.IdUzytkownik where c.NazwaUzytkownika.Equals(username) select a.RoleName).ToArray <string>(); if (roles.Count() > 0) { HttpRuntime.Cache.Insert(cacheKey, roles, null, DateTime.Now.AddMinutes(_cacheTimeoutInMinute), Cache.NoSlidingExpiration); } } return(roles); }
public ActionResult Login(Uzytkownik l, string ReturnUrl = "") { using (gadzeciakContext dc = new gadzeciakContext()) { var user = dc.Uzytkowniks.Where(a => a.NazwaUzytkownika.Equals(l.NazwaUzytkownika) && a.Haslo.Equals(l.Haslo)).FirstOrDefault(); if (user != null) { Session["LogedUserID"] = user.IdUzytkownik.ToString(); Session["LogedUserFullname"] = user.NazwaUzytkownika.ToString(); Session["LogedUserName"] = user.Imie.ToString(); Session["LogedUserSurname"] = user.Nazwisko.ToString(); Session["LogedUserEmail"] = user.Email.ToString(); FormsAuthentication.SetAuthCookie(user.NazwaUzytkownika, false); if (Url.IsLocalUrl(ReturnUrl)) { return(Redirect(ReturnUrl)); } else { return(RedirectToAction("AfterLogin", "Uzytkowniks")); } } } // ModelState.Remove("Haslo"); return(View()); }