Code mẫu

// Lưu session
public class SessionConfig
    {
        public static SinhVien GetTaiKhoan()
        {
            return (SinhVien)HttpContext.Current.Session["TK"];
        }
        public static void SetTaiKhoan(SinhVien tenDangNhap)
        {
            HttpContext.Current.Session["TK"] = tenDangNhap;
        }

        public static TaiKhoanNV GetTaiKhoanNV()
        {
            return (TaiKhoanNV)HttpContext.Current.Session["TKNV"];
        }
        public static void  SetTaiKhoanNV(TaiKhoanNV Username)
        {
            HttpContext.Current.Session["TKNV"] = Username;
        }
    }
// Kiểm tra đăng nhập và quyền
public class AdminAuthorize : AuthorizeAttribute
    {
        public string ChucNang = "";
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (SessionConfig.GetTaiKhoanNV() == null)
            {
                // Chuyển hướng đường link 
                filterContext.Result = new RedirectToRouteResult(new
                    RouteValueDictionary(new { controller = "TaiKhoanNV", action = "DangNhap" }));
                return;
            }
            // Kiểm tra quyền
            var mapPQ = new mapPhanQuyen();
            if(mapPQ.KiemTraQuyen(SessionConfig.GetTaiKhoanNV().ID, ChucNang) == false)
            {
                // Chuyển hướng đường link trang báo lỗi phân quyền
                filterContext.Result = new RedirectToRouteResult(new
                    RouteValueDictionary(new { controller = "TaiKhoanNV", action = "LoiPhanQuyen" }));
                return;
            }

            return;
        }
    }