public void SetCookie(string name, CookieAdmin cookieAdmin, bool day) { int time = 0; if (day == true) { time = 14400; } else { time = 60; } var cookieId = new HttpCookie("adminstractor", cookieAdmin.Id.ToString()) { Expires = DateTime.Now.AddMinutes(time) }; string myObjectJson = new JavaScriptSerializer().Serialize(cookieAdmin); var cookie = new HttpCookie(name, myObjectJson) { Expires = DateTime.Now.AddMinutes(time) }; HttpContext.Response.Cookies.Add(cookie); HttpContext.Response.Cookies.Add(cookieId); }
private int CheckLogin(string username, string password) { if (username == "" || password == "") { return(-2); } var user = db.QuanTris.Where(q => q.TenDangNhap == username).SingleOrDefault(); if (user == null) { return(-1); } if (user.MatKhau != password) { return(0); } else { var phanquyen = db.PhanQuyens.Where(p => p.IdQuanTri == user.Id).ToList(); List <PhanQuyenAdmin> listphanquyen = new List <PhanQuyenAdmin>(); foreach (var item in phanquyen) { PhanQuyenAdmin phanQuyenAdmin = new PhanQuyenAdmin(); phanQuyenAdmin.IdQuyen = item.IdQuyen.ToString(); listphanquyen.Add(phanQuyenAdmin); } CookieAdmin cookieAdmin = new CookieAdmin(); cookieAdmin.Id = user.Id.ToString(); cookieAdmin.Phanquyens = listphanquyen; SetCookie("autoiadmin", cookieAdmin, true); return(1); } }
protected override bool AuthorizeCore(HttpContextBase httpContext) { var getcookie = HttpContext.Current.Request.Cookies["autoiadmin"]; if (getcookie == null) { _isAuthorized = true; iRoleCheck = false; return(false); } if (this.RoleID == "DANGNHAP") { return(true); } JavaScriptSerializer jss = new JavaScriptSerializer(); CookieAdmin cookieAdmin = jss.Deserialize <CookieAdmin>(getcookie.Value); List <string> rolesProvider = new List <string>(); for (int i = 0; i < cookieAdmin.Phanquyens.Count; i++) { rolesProvider.Add(cookieAdmin.Phanquyens[i].IdQuyen); } if (rolesProvider.Contains("1")) { return(true); } if (rolesProvider.Contains(this.RoleID)) { iRoleCheck = false; return(true); } else { iRoleCheck = true; return(false); } }