protected override bool AuthorizeCore(HttpContextBase httpContext) { using (var db = new DB()) { var id = 0; if (((MvcHandler)httpContext.Handler).RequestContext.RouteData.Values["id"] != null) id = Convert.ToInt32(((MvcHandler)httpContext.Handler).RequestContext.RouteData.Values["id"]); else id = Convert.ToInt32(httpContext.Request.Form["id"]); var lession = db.Lessions.Find(id); var course = db.Courses.Find(lession.CourseID); if (lession.Course.TypeDictionary.NeedAuthorize == true) { if (!httpContext.User.Identity.IsAuthenticated) { msg = "请先登陆在学习该节内容"; return false; } List<Lession> lessions = db.Lessions.Where(l => l.Course.ID == lession.CourseID).OrderBy(l => l.Time).ToList(); for (int i = 0; i < lessions.Count; i++) { if (lession.ID == lessions[i].ID) { if (i == 0) { break; } int tempId = lessions[i - 1].ID; LessionScore lesssionScore = db.LessionScores.Where(ls => ls.LessionId == tempId).OrderByDescending(ls=>ls.Time).FirstOrDefault(); if (lesssionScore == null) { msg = "请先完成上一节的测试,在学习该节"; return false; } else { if (!lesssionScore.IsPassTest) { msg = "请先完成上一节的测试,在学习该节"; return false; } } } } } } return true; }
protected override bool AuthorizeCore(HttpContextBase httpContext) { using (var db = new DB()) { var id = 0; if (((MvcHandler)httpContext.Handler).RequestContext.RouteData.Values["id"] != null) id = Convert.ToInt32(((MvcHandler)httpContext.Handler).RequestContext.RouteData.Values["id"]); else id = Convert.ToInt32(httpContext.Request.Form["id"]); var live = db.Lives.Find(id); if (live.NeedAuthorize) { if (!httpContext.User.Identity.IsAuthenticated) { msg = "请先登陆在观看内容"; return false; } } } return true; }
public Task SpiderBegin() { return Task.Factory.StartNew(() => { using (var db = new DB()) { System.Diagnostics.Debug.WriteLine("正在获取:" + BaseURL); var html = HttpHelper.HttpGet(BaseURL, Encoding); var _urls = RegMatchUrl(html); System.Diagnostics.Debug.WriteLine("获得URL:" + _urls.Count); var urls = FilterURL(_urls); System.Diagnostics.Debug.WriteLine("过滤后剩余:" + urls.Count); foreach (var url in urls) { System.Diagnostics.Debug.WriteLine("正在抓取:" + url); if (db.SpiderArticles.Any(x => x.URL == url)) continue; Thread.Sleep(Interval); var _html = HttpHelper.HttpGet(url, Encoding); try { db.SpiderArticles.Add(new SpiderArticle { Time = GetTime(_html), Title = GetTitle(_html), Content = GetContent(_html, url), Status = SpiderArticleStatus.待审核, NewsID = null, URL = url, Source = Source }); db.SaveChanges(); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } } } }); }
protected override bool AuthorizeCore(HttpContextBase httpContext) { if (httpContext.User.Identity.IsAuthenticated) { using (var db = new DB()) { var user = (from u in db.Users where u.Username == httpContext.User.Identity.Name select u).Single(); if (user.RoleAsInt > 0) return true; var id = 0; if (((MvcHandler)httpContext.Handler).RequestContext.RouteData.Values["id"] != null) id = Convert.ToInt32(((MvcHandler)httpContext.Handler).RequestContext.RouteData.Values["id"]); else id = Convert.ToInt32(httpContext.Request.Form["id"]); var lession = db.Lessions.Find(id); if (user.RoleAsInt >= lession.Course.AuthorityAsInt) return true; } } return false; }