public override void OnActionExecuting(ActionExecutingContext filterContext) { if (HttpContext.Current.Session["MaThanhVien"] == null) { filterContext.Result = new RedirectResult("/Home/Login"); return; } int maloai = int.Parse(HttpContext.Current.Session["MaLoaiThanhVien"].ToString()); int userId = int.Parse(HttpContext.Current.Session["MaThanhVien"].ToString()); string actionName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName + "Controller-" + filterContext.ActionDescriptor.ActionName; QLKhoDuocContext db = new QLKhoDuocContext(); var admin = db.ThanhViens.Where(a => a.MaThanhVien == userId && a.isadmin.Value == true && a.MaLoaiThanhVien == 1).FirstOrDefault(); if (admin != null) { return; } var listpermission = from p in db.PhanQuyens join g in db.PhanQuyenTVs on p.MaQuyen equals g.MaQuyen where g.MaLoaiThanhVien == maloai select p.TenQuyen; if (!listpermission.Contains(actionName)) { filterContext.Result = new RedirectResult("/Home/Notification"); return; } }
public void SaveLog(string NoiDung, int MaAction, int MaThanhVien) { QLKhoDuocContext db = new QLKhoDuocContext(); HisLog h = new HisLog(); h.MaAction = MaAction; h.MaThanhVien = MaThanhVien; h.NgayLuu = DateTime.Now; h.NoiDung = NoiDung; db.HisLogs.Add(h); db.SaveChanges(); }
public ActionResult Login(ThanhVien thanhvien) { if (ModelState.IsValid) { using (QLKhoDuocContext db = new QLKhoDuocContext()) { var obj = db.ThanhViens.Where(a => a.TenDangNhap.Equals(thanhvien.TenDangNhap) && a.Pass.Equals(thanhvien.Pass)).FirstOrDefault(); if (obj != null) { if (obj.LoaiThanhVien.MaLoaiThanhVien == 1) { ViewBag.Message = 1; Session["TenDangNhap"] = obj.TenDangNhap; Session["MaThanhVien"] = obj.MaThanhVien; Session["MaLoaiThanhVien"] = obj.MaLoaiThanhVien; return(Redirect("Home/AfterLoginAdmin")); } else { Session["TenDangNhap"] = obj.TenDangNhap; Session["FullName"] = obj.FullName; Session["MaLoaiThanhVien"] = obj.MaLoaiThanhVien; Session["MaThanhVien"] = obj.MaThanhVien; ViewBag.Message = 2; return(Redirect("Home/AfterLogin")); } } else { ViewBag.Message = 0; } } } return(View(thanhvien)); }